空の String 配列 (ミドルウェアから取得する可能性があります) を List に変換しています。
変換プロセスでは、 java.lang.UnsupportedOperationException をスローしている Arrays.asList (以下のコードを参照してください) を使用しました。
public class Ramddd {
public static void main(String args[]) {
String[] words = null;
if (words == null) {
words = new String[0];
}
List<String> newWatchlist = Arrays.asList(words);
List<String> other = new ArrayList<String>();
other.add("ddd");
newWatchlist.addAll(other);
}
}
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.add(Unknown Source)
at java.util.AbstractList.add(Unknown Source)
at java.util.AbstractCollection.addAll(Unknown Source)
at Ramddd.main(Ramddd.java:18)
使用すると、このエラーが発生しません
List<String> mylist = new ArrayList<String>();
for (int i = 0; i < words.length; i++) {
mylist.add(words[i]);
}
これは適切な形式であり、次のList
ような操作は適切addALL
にremoveALL
見えますが、パフォーマンスが低下する可能性があるため、この for ループ アプローチは使用しないでください。String 配列を ArrayList に変換するための最善かつ安全な方法を教えてください。