質問編集履歴

5

タイトル変更

2017/03/15 12:36

投稿

sequence
sequence

スコア29

test CHANGED
@@ -1 +1 @@
1
- 【Java】インスタンス変数のhashCode途中で変わってしまう
1
+ 【Java】インスタンス変数が突然nullになってしまう
test CHANGED
@@ -74,7 +74,7 @@
74
74
 
75
75
  ということぐらいです。
76
76
 
77
- なお、今回のif文を消しても次の処理が終わるとhashCodeが書き換わっております。
77
+ なお、今回のif文を消しても次の処理が終わるとListのclass Bはnullになっています。
78
78
 
79
79
 
80
80
 

4

質問変更

2017/03/15 12:36

投稿

sequence
sequence

スコア29

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Javaであるインスタンスを定義してそのインスタンス変数を取得しようとしているのですが、
4
4
 
5
- いつの間にかそのインスタンス変数がになってしまっているという現象が起きております。
5
+ いつの間にかそのインスタンス変数がnullになってしまっているという現象が起きております。
6
6
 
7
7
 
8
8
 
@@ -46,7 +46,7 @@
46
46
 
47
47
  System.out.print(a.b.hashCode()); // 100とする
48
48
 
49
- System.out.print(a.b); // Listが存在する
49
+ System.out.print(a.b); // ArrayListの値が存在する
50
50
 
51
51
  if(a.bool){ // 今回はfalseなため、if文の中の処理は行なっていない -> hashCodeが変わるまでにしたのはif文でtrue,falseの判定をしただけ
52
52
 
@@ -56,7 +56,7 @@
56
56
 
57
57
  System.out.print(a.b.hashCode()); // 200になっている
58
58
 
59
- System.out.print(a.b); // になる
59
+ System.out.print(a.b); // nullになる
60
60
 
61
61
  }
62
62
 

3

質問変更

2017/03/15 12:32

投稿

sequence
sequence

スコア29

test CHANGED
File without changes
test CHANGED
@@ -46,7 +46,7 @@
46
46
 
47
47
  System.out.print(a.b.hashCode()); // 100とする
48
48
 
49
- System.out.print(a.b); // nullではない
49
+ System.out.print(a.b); // Listが存在する
50
50
 
51
51
  if(a.bool){ // 今回はfalseなため、if文の中の処理は行なっていない -> hashCodeが変わるまでにしたのはif文でtrue,falseの判定をしただけ
52
52
 

2

質問変更

2017/03/15 12:21

投稿

sequence
sequence

スコア29

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Javaであるインスタンスを定義してそのインスタンス変数を取得しようとしているのですが、
4
4
 
5
- いつの間にかそのインスタンス変数がnullになってしまっているという現象が起きております。
5
+ いつの間にかそのインスタンス変数がになってしまっているという現象が起きております。
6
6
 
7
7
 
8
8
 
@@ -56,7 +56,7 @@
56
56
 
57
57
  System.out.print(a.b.hashCode()); // 200になっている
58
58
 
59
- System.out.print(a.b); // nullになる
59
+ System.out.print(a.b); // になる
60
60
 
61
61
  }
62
62
 

1

質問内容変更

2017/03/15 12:20

投稿

sequence
sequence

スコア29

test CHANGED
File without changes
test CHANGED
@@ -46,6 +46,8 @@
46
46
 
47
47
  System.out.print(a.b.hashCode()); // 100とする
48
48
 
49
+ System.out.print(a.b); // nullではない
50
+
49
51
  if(a.bool){ // 今回はfalseなため、if文の中の処理は行なっていない -> hashCodeが変わるまでにしたのはif文でtrue,falseの判定をしただけ
50
52
 
51
53
  // 何かしらの処理
@@ -53,6 +55,8 @@
53
55
  }
54
56
 
55
57
  System.out.print(a.b.hashCode()); // 200になっている
58
+
59
+ System.out.print(a.b); // nullになる
56
60
 
57
61
  }
58
62