0
0

More than 1 year has passed since last update.

Arrays.asListを勉強する

Posted at

Arrays.asListは、配列をArrayListに変換
プリミティブ型(下記int)は配列として登録されるため要注意。

public static void main(String[] args) {
        List<String> sl = Arrays.asList("a","b");
        for(String s:sl) {
            System.out.println(s);
        }
        String[] strarray = {"c","d"};
        System.out.println("--------------------------");
        sl = Arrays.asList(strarray);
        for(String s:sl) {
            System.out.println(s);
        }
        System.out.println("--------------------------");
        List<Integer> li = Arrays.asList(1,2);
        for(Integer i:li) {
            System.out.println(i);
        }
        System.out.println("--------------------------");
        int[] intarray = {3,4};
        List<int[]> li2 = Arrays.asList(intarray);
        for(int[] i:li2) {
            System.out.println(i);
a
b
--------------------------
c
d
--------------------------
1
2
--------------------------
[I@15db9742

class typeを確認する。普通のArrayListではないことがわかる。

        List<String> sl = Arrays.asList("a","b");
        System.out.println(sl.getClass());
class java.util.Arrays$ArrayList

asListで作成したListはaddできない

    public static void main(String[] args) {
        List<String> sl = new ArrayList();
        sl.add("a");
        List<String> sl2 = Arrays.asList("a","b");
        sl2.add("a");              //ここで下記の例外が発生
    }
Exception in thread "main" java.lang.UnsupportedOperationException
	at java.util.AbstractList.add(AbstractList.java:148)
	at java.util.AbstractList.add(AbstractList.java:108)
	at com.mycompany.mavenproject1.Outer.main(Outer.java:22)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0