回答編集履歴

5

修正

2023/03/06 05:40

投稿

jimbe
jimbe

スコア12696

test CHANGED
@@ -32,5 +32,5 @@
32
32
  }
33
33
  ```
34
34
  と同じようなクラスのオブジェクトとなります。
35
- コンストラクタで指定した ```1``` はオートボクシングで Integer に変換後 str に保存され getString() で返されるだけで何の問題もありませんので、エラーにはなりません。
35
+ コンストラクタで指定した ```1``` はオートボクシングで Integer に変換後 str フィールドに保存され getString() で返されるだけで、変数名・メソッド名が 人間にとって紛らわしいですがコードとしては何の問題もありませんので、エラーにはなりません。
36
36
  System.out.println はオブジェクトの toString() を呼び出すので ```1``` が表示されるでしょう。

4

修正

2023/03/05 08:27

投稿

jimbe
jimbe

スコア12696

test CHANGED
@@ -1,8 +1,8 @@
1
1
  >定義側の引数はString型なので、
2
2
 
3
- いわゆる java.lang.String 型ではありません。 "String" はジェネリクスで使用されている文字列の為、任意の型す。
3
+ いわゆる java.lang.String 型ではありません。 "String" はジェネリクスの型として指定されている文字列の為、任意の型を表します。
4
4
 
5
- ジェネリクスは、 <> の中に書いた文字列を使用時の型に置換したように動作します。
5
+ ジェネリクスは、 <> の中に書いた文字列が型として書いてある部分使用時の <> の型に置換したように動作します。
6
6
 
7
7
  ```java
8
8
  class Generic<String> {
@@ -15,7 +15,11 @@
15
15
  }
16
16
  }
17
17
  ```
18
+
19
+ ・フィールド str の型
20
+ ・コンストラクタのパラメータ str の型
21
+ ・getString() メソッドの型
18
- ```g = new Generic<Integer>(1);```とした時 g は
22
+ "String" という文字列が指定されているため、```g = new Generic<Integer>(1);```とした時 g は
19
23
  ```java
20
24
  class Generic {
21
25
  Integer str;
@@ -28,5 +32,5 @@
28
32
  }
29
33
  ```
30
34
  と同じようなクラスのオブジェクトとなります。
31
-
35
+ コンストラクタで指定した ```1``` はオートボクシングで Integer に変換後 str に保存され getString() で返されるだけで何の問題もありませんので、エラーにはなりません。
32
- g.getString() は Integer の 1 ことになるので println で 1 が表示されるでしょう。
36
+ System.out.println はオブジェクトの toString() を呼び出すので ```1``` が表示されるでしょう。

3

修正

2023/03/04 15:42

投稿

jimbe
jimbe

スコア12696

test CHANGED
@@ -1,3 +1,7 @@
1
+ >定義側の引数はString型なので、
2
+
3
+ いわゆる java.lang.String 型ではありません。 "String" はジェネリクスで使用されている文字列の為、任意の型です。
4
+
1
5
  ジェネリクスは、 <> の中に書いた文字列を使用時の型に置換したように動作します。
2
6
 
3
7
  ```java

2

修正

2023/03/04 15:39

投稿

jimbe
jimbe

スコア12696

test CHANGED
@@ -25,4 +25,4 @@
25
25
  ```
26
26
  と同じようなクラスのオブジェクトとなります。
27
27
 
28
- getString() は Integer の 1 を返すことになるので、 println で 1 が表示されるでしょう。
28
+ g.getString() は Integer の 1 を返すことになるので、 println で 1 が表示されるでしょう。

1

修正

2023/03/04 15:37

投稿

jimbe
jimbe

スコア12696

test CHANGED
@@ -11,9 +11,9 @@
11
11
  }
12
12
  }
13
13
  ```
14
- を ```g = new Generic<Integer>(1);```とした時、 g のオブジェクト
14
+ を ```g = new Generic<Integer>(1);```とした時、 g は
15
15
  ```java
16
- class Generic<Integer> {
16
+ class Generic {
17
17
  Integer str;
18
18
  public Generic(Integer str) {
19
19
  this.str = str;
@@ -23,6 +23,6 @@
23
23
  }
24
24
  }
25
25
  ```
26
- のオブジェクトとなります。
26
+ と同じようなクラスのオブジェクトとなります。
27
27
 
28
28
  getString() は Integer の 1 を返すことになるので、 println で 1 が表示されるでしょう。