をsomeMethod()返しますCollection<Long>。
ArrayList<Long> results = (ArrayList<Long>) someMethod();
Long value = results.get(0);
私は得るClassCastException: java.util.ArrayList cannot be cast to java.lang.Long。System.out.println(results.get(0));実際に試してみると、例えば が返ってきます[32]。ぜんぜんわかりません。これがLongのArrayListです!なぜget(0)返品するのArrayListですか?
これは次のことに役立ちます。
Object o = results.get(0);
ArrayList<Long> al = (ArrayList<Long>) o;
Long val = al.get(0);
しかし、なぜこれが必要なのですか?