火曜日, 2月 28, 2017

Java の enum 列挙型の変数名を値から逆引きする

Java の enum 列挙型は値を設定せず列挙するだけで値を設定してくれる優れ
モノです。

Java の enum は C/C++ のより拡張性があってもっと便利です。

変数値から要素名を得る「逆引き」などという動作は、enum の一部として定義できます。



values() を使えば列挙型の設定されたすべての値を得ることができます。

 便利な Java の enum 列挙型ですが、得られた配列から値を得てももとの値を得ることができない。ようです。

あるのは ordinal() 関数のみ。これだと順番が出てきます。

設定された変数へ値を代入する、あとはメンバ関数を自作するなどいう方法が巷ではあるようですが、これだと列挙型である意味がない。並べておいて代入しなくていいのが列挙型の利点です。

???な Java の enum 列挙型ですが、そもそも最初の設計でなかった機能です。なにか考えがあるのかも。

値を設定しているのでない、順番があるだけだ、ってことでしょうか。

Qt: 外部プログラムを起動する

  Qt/C++ のアプリは、外部へ直接アクセスできます。これはネットアプリでは不可能な Qt のメリットです。 外部プログラムを起動することもできます。QProcess::startDetached() を使うと独立したプロセスを立ち上げることができます。 この QProces...