LinkedListのサンプル

LinkedListで整数を扱おうとしたところ、java.lang.Objectを(int)で型変換しようとして失敗。。。ハズカシス。

扱うオブジェクトが整数(Integer)と分かりきっている場合は
import java.util.*;

class LinkedListTest {
    public static void main(String[] args) {
        LinkedList<Integer> list = new LinkedList<Integer>();
        list.add(1);
        list.add(11);
        list.add(13);
        for (int i = 0; i < list.size(); i++) {
            int x = (int)list.get(i);
            System.out.println(x);
        }
    }
}

オブジェクトを判別しながら処理する必要がある場合は、instanceof 演算子で調べget()の返り値をキャストする。
import java.util.*;

class LinkedListTest {
    public static void main(String[] args) {
        LinkedList list = new LinkedList();
        list.add(1);
        list.add("Hello");
        list.add(13);
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i) instanceof Integer);
            if (list.get(i) instanceof Integer) {
              Integer x=(Integer)list.get(i);
              System.out.println(x);
            }
        }
    }
}

用語的にキャストであってるのか?

コメント

このブログの人気の投稿

[Java] 母音か子音か

git-svnでFILE was not found in commit HASH

駄文