List と Map
さらに妄想を続けていたら List と Map はこんな感じに落ち着くような気がしてきた。
ijb(main):001:0> List<String> list = (ArrayList<String>) ["a", "b", "c"];
=> ["a", "b", "c"]
ijb(main):002:0> Map<String, Object> map = (HashMap<String, Object>) {"a" => 1, "b" => 2, "c" => 3};
=> {a=1, b=2, c=3}
ijb(main):003:0>シンタックスシュガーを使った場合は直接操作できない匿名クラスのオブジェクトが作られるので、それをキャストしてやるという。悪くない。
配列
イラネ。List があればいいので配列は消えてよし。
setter/getter
IDE の自動生成機能を使えば setter/getter を実装するのは大した手間ではないけれど、手間の問題ではないのである。あほらしいことを「させられている」という虚しさこそが問題であり、解決しなければならない。
かと言って public フィールドも何か尻の辺りがムズムズする落ち着かなさがある。と言うわけでアノテーションを使って
public class SomeClass {
private @reader String attr1;
private @writer String attr2;
private @accessor String attr3;
}こんな風にして
SomeClass s = new SomeClass(); System.out.println(s.@attr1); s.@attr2 = "aaa";
こんな風にしたい。・・・微妙かなあ。多分もう続きません。