概要
Object配列は、任意のオブジェクトを要素とすることができ、異なる型の要素を持つことができる。
1次元のObject配列
イニシャライザー
配列の型をObject[]
とすると、任意の型・クラスの値を要素に持つことができる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import java.time.LocalDate; import java.util.Arrays; import java.util.Random; public class ObjectArray { public void initializer() { Object[] array = {1, "two", new Random().nextInt(1000), LocalDate.of(2000, 7, 15)}; System.out.println(Arrays.toString(array)); // [1, two, 1808318309, 2021-05-27] } public static void main(String[] args) { ObjectArray app = new ObjectArray(); app.initializer(); } } |
newによる初期化
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import java.time.LocalDate; import java.util.Arrays; import java.util.Random; public class ObjectArray { public void initByNew() { Object[] array = new Object[4]; array[0] = 1; array[1] = "two"; array[2] = new Random().nextInt(1000); array[3] = LocalDate.of(2000, 7, 15); System.out.println(Arrays.toString(array)); // [1, two, 1025805776, 2021-05-27] } public static void main(String[] args) { ObjectArray app = new ObjectArray(); app.initByNew(); } } |
多次元のObject配列
多次元のObject配列をイニシャライザーで宣言することもできるが、ダイナミックに要素を追加していくこともできる。
以下の例では、まず1次元のObject配列を要素数を与えて生成し、1つ目の要素はString
型の要素、2つ目と3つ目はObject配列を要素配列として生成してセットしている。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import java.time.LocalDate; import java.util.Arrays; import java.util.Random; public class ObjectArray { public void twoDimensional() { Object[] array = new Object[3]; array[0] = "one"; array[1] = new Object[] {2, "three", '四'}; array[2] = new Object[] {new Random().nextInt(1000), LocalDate.of(2000, 7, 15)}; System.out.println(Arrays.deepToString(array)); // [one, [2, three, 四], [987, 2000-07-15]] } public static void main(String[] args) { ObjectArray app = new ObjectArray(); app.twoDimensional(); } } |