から新しいのArrayListを作成し、これらの二つの方法の違いは何私は今日、このコードの複雑な部分に出くわした:は、既存のリスト
public List<MyObject> toNewList(List<MyObject> someObjects) {
return new ArrayList<>(Arrays.asList(someObjects.toArray(new MyObject[someObjects.size()])));
}
は、上記のコードと次のコードの間に違いはありますか?
public List<MyObject> toNewList(List<MyObject> someObjects) {
return new ArrayList<>(someObjects);
}
編集: コミットの歴史を振り返って、コードを委譲への洞察を提供します。ここitterrationsの各されています
まずコミット:
return someObjects.toArray(new MyObject[0]);
第二には、コミット:
return Arrays.asList(someObjects.toArray(new MyObject[0]));
第三にコミット:
return Arrays.asList(someObjects.toArray(new MyObject[someObjects.size()]));
最終コミット:
return new ArrayList<MyObject>(Arrays.asList(someObjects.toArray(new MyObject[someObjects.size()])));
を
きれいなコードをきれいにするための良いリマインダ!
関連するコードのバグを回避したり、コードを自動生成することでバグを修正したりすることができたかもしれませんが、それを書いた人は誰でもやっていることを理解できませんでした。 – user2357112
いいえ、ちょうどその2番目はきれいです。 – nullpointer
'new MyObject [someObjects.size()]'ここにあるすべてのタイプミス? – user3437460