回答編集履歴

2

追記1

2019/11/24 05:41

投稿

BeatStar
BeatStar

スコア4958

test CHANGED
@@ -79,3 +79,57 @@
79
79
 
80
80
 
81
81
  鶏を生き物だからと言って、人間と同一(まったく同じとして)とみなすような出題なのでいやらしいなぁと。
82
+
83
+
84
+
85
+ ---
86
+
87
+
88
+
89
+ [追記1]
90
+
91
+
92
+
93
+ あまりJavaは(仕様レベルでは)よくわかっていませんが、ソースは忘れましたが、『JavaではすべてのオブジェクトはObjectクラスを継承していると考えられる』系の説明を読んだことがあります。
94
+
95
+
96
+
97
+ 一応Javaの[documentation](https://docs.oracle.com/javase/jp/8/docs/api/java/lang/Object.html)でも
98
+
99
+
100
+
101
+ > Objectクラスは、クラス階層のルートです。すべてのクラスは、スーパー・クラスとしてObjectを持ちます。配列を含むすべてのオブジェクトは、このクラスのメソッドを実装します。
102
+
103
+
104
+
105
+ とあります。
106
+
107
+
108
+
109
+ 『配列を含むすべてのオブジェクト』とあるので、String[] でも String[][] でも Stringでも Objectを継承していると想定されるために、
110
+
111
+
112
+
113
+ ```ここに言語を入力
114
+
115
+ // String[][] texts だとして
116
+
117
+ for( Object obj : texts )...
118
+
119
+ ```
120
+
121
+
122
+
123
+ でも受け取れるのだと思います。
124
+
125
+
126
+
127
+ ですが、for( String obj : texts ) ... という風に Stringで受け取ろうとすると、配列なのに変数に入れるような状況になってしまうので、コンパイルエラーを吐く。
128
+
129
+
130
+
131
+ Objectクラスは 配列を含めたオブジェクトすべてに実装されていると想定されているので、そのまま使える。
132
+
133
+
134
+
135
+ ...っていうことなんだと思います。

1

追記0

2019/11/24 05:41

投稿

BeatStar
BeatStar

スコア4958

test CHANGED
@@ -42,6 +42,10 @@
42
42
 
43
43
 
44
44
 
45
+ 今回はそのうちの "A"~"C" がセットされている状態です。
46
+
47
+
48
+
45
49
  その { "A" } というデータを取り出すためには texts[0][0] のようにして取り出します。
46
50
 
47
51