-3
このコードは機能しません。コレクションに列挙型の配列を追加できません。
ArrayList<BlockFace> cardinalDirections = new ArrayList<>();
cardinalDirections.addAll(new BlockFace[] {BlockFace.NORTH, BlockFace.SOUTH, BlockFace.EAST, BlockFace.WEST});
これはどちらも行いません。
これは、各要素を手動で1つずつ追加するか、配列全体を反復する場合にのみ機能します。
ArrayList<BlockFace> cardinalDirections = new ArrayList<>();
for (BlockFace face : new BlockFace[] {BlockFace.NORTH, BlockFace.SOUTH, BlockFace.EAST, BlockFace.WEST})
cardinalDirections.add(face);
なぜ上位2つの例は機能しませんか。
'リスト cardinalDirections =は、Arrays.asList(新しいBlockFace [] {BlockFace.NORTH、BlockFace.SOUTH、BlockFace.EAST、BlockFace.WEST});'の代わりに ' ArrayList ' –
Tunaki
' addAll'は配列を受け入れるオーバーロードを持っていません。 – Savior
'Arrays.asList'の戻り値の型は' List'です。 – Savior