java
public boolena empty(String s) { return (s == null) || (s == ""); } なんてJavaで書いちゃって死亡。 後者は "".equals(s) が正しいですね。すいませんマジすいませんでした。おのれJava!! とはいえ、JUnitでテストした関数だったんですよ。 問題ないじ…
とある新人の混沌魔書 (すてきなコード*1) class RozenSelectionChangedListener implements ISelectionChangedListener { private TableViewer table; (略) @Override public void selectionChanged(SelectionChangedEvent event) { ISelection selecti…
Map<String, Object> map = HOGEHOGE; for(Map.Entry<String, Object> entry : map.entrySet()) { String key = entry.getKey(); Object value = entry.getValue(); } こうしちゃう所ですが、 Map<String, Object> map = HOGEHOGE; for(String key : map.keySet()) { Object value = map.g</string,></string,>…
static public <K, V> Map<K, ? extends List<V> > safePut(Map<K, ? extends List<V> > map, K key, V value) { List<V> list = map.get(key); if(list == null) { list = new ArrayList<V>(); map.put(key, list); // だめ // ↑The method put(K, capture#2-of ? extends List<V>) // in the type Map</v></v></v></k,></k,></k,>
public Void func() { return …!? } という感じに、戻り値の型に void ではなく java.lang.Void クラスを指定した場合って何を返せばいいのか…。void だから放置でいいんだよね!? と、最初は思ったのですけれども、コンパイルしてみると「値返せよ。死ねよ…
Tree を Table*1 のように見せかける為に、TreeColumn を利用して tree に ヘッダーを付けたりなんなりごにょごにょしたりするケースがあります。で、そのヘッダーの横幅ってのは、setWidth() で設定出来たりします……が、tree コントロールの大きさが変わっ…
class A<T> { static public interface IHashGetter<T> { public int getHash(T t); }; public A() { this(getDefaultHashGetter()); // ※↑コンストラクター A<T>(A.IHashGetter<Object>) は未定義です。 } public A(IHashGetter<T> getter) { // こっちが本線 } static <U> IHashGe</u></t></object></t></t></t>…
Plugin.xml を書いて追加する方法は沢山出てくるも、Javaのコードからごにょごにょして *自前で Eclipse のメニューを追加する方法* が全く分からん…コードが公開されているとはいえ、何処を身りゃいいのかわからないよパトラッシュ… orz
help を兼ねて…(ぉ orz Eclipseな觶を知らない人への前説 widget ボタン・staic text 等、各種コントロールの総称。 composite 何にもないウィンドウ。static text (VC) とか、form (C#) とかに該当? この子として、widgetを配置していく。 table Windows …
ソース import java.util.List; import java.util.ArrayList; public class a { class Kanaria{}; class Shinku{}; static void func(List<Kanaria> kana_list) { } static void func(List<Shinku> shinku_list) { } public static void main(String[] argv) { ArrayList<Kanaria> kana</kanaria></shinku></kanaria>…
ほんのちょっぴり(盛り上がった|大事になった)、1つ前のエントリー「Javaで関数ポインタチックなことがしたいよママン!」という話題。お二方からコード付きの突っ込みをいただきまして、大変勉強させていただいた感じで大変感謝であります。 そもそも何が…
「オブジェクト と メソッド名の文字列を渡してリフレクションする」って、Javaのポリシー的にどうなんじゃろう……。 やっぱりあんまり良くないのかしら… class Food{ public void mix(Food f){}; }; class 乳酸菌 extends Food{}; class 卵焼き extends Food…
これはコンパイルおk Jum.java package makimaki; public class Jum<T> { protected class RozenMaiden { }; }; BigJum.java package non_makimaki; import makimaki.Jum; public class BigJum extends Jum<String> { public class Shinku extends Jum<String>.RozenMaiden { }</string></string></t>…
Generic を使ったクラスを自前で創ろうとすると、とたんにいろんな所で詰まる…。 今回はコレに詰まりました class Dolls<T> { int m_n; abstract private class IRozenMaiden { abstract String getSuffix(); } class Suigintou extends IRozenMaiden { public </t>…
気づいてみれば、文字列が _T( ) で囲われてた… [類似] C#利用者がJavaプログラミング中毎回やっちゃう、ちょっぴりショッキングな出来事 (カタカタカタ......) Javaでコーディング中 ArrayList<KanaObject> stlKanaList = ...; for(KanaObject kana in stlKanaList) ………</kanaobject>…
class a { enum ERozen { GIN, KANA, MIDORI; }; static final String[] m_astrNameList = { "水銀燈", "金糸雀", "翠星石" }; public static void main(String argv[]) { System.out.println(m_astrNameList[ERozen.KANA]); // ↑ERozen.KANA を int に変換…
class a { public static void main(String[] args) { Integer i = new Integer(0); func(i); System.out.println(i); // 0 } static private void func(Integer i) { i += 10; } } 出力 10 を期待したんですが、0 が出力される…。 Integer の i って参照渡…
// jdk5以上でコンパイルするんじゃ! class a { public static void main(String[] args) { // auto boxing Integer k1 = 20; Integer k2 = 20; Integer h1 = 200; Integer h2 = 200; // 値じゃなくてオブジェクトの比較 if(k1 == k2) System.out.println("…
SJC-P でもそのうち取得しようと、トイレの中で足がしびれるぐらい長時間書籍を読んでいた時に発見した(個人的に)ビックリしたjavaの文法。それは! enum Rozen { GIN, KANA, MIDO, AO; public static int ichigo = 6; public static int getIchigo(){ ret…
1個前のエントリー で「この break, continue 文法は無いだろう!」と叫んでみたわけですが、これは今まで C++ / C# を弄ってきた身として「この goto文もどきの文法は無いだろう!」と解釈していたためです。が、この解釈は正直間違っていました。 この構…
public class test00{ public static void main(String[] args) { KANA_LOOP: for(int i = 0; i < 10; ++i) { if((i % 2) == 0) continue KANA_LOOP; System.out.println(i + "かしら〜"); } NANO_LOOP: for(int i = 0; i < 10; ++i) { if(i >= 5) break NAN…