質問編集履歴
5
タイトル変更
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
【Java】インスタンス変数
|
1
|
+
【Java】インスタンス変数が突然nullになってしまう
|
body
CHANGED
@@ -36,7 +36,7 @@
|
|
36
36
|
わかる範囲で共通点を申し上げますと、
|
37
37
|
class Bに当たるインスタンスには多くのプロパティが存在しており、それぞれに対してデータの追加、加工等の処理をさせている。
|
38
38
|
ということぐらいです。
|
39
|
-
なお、今回のif文を消しても次の処理が終わると
|
39
|
+
なお、今回のif文を消しても次の処理が終わるとListのclass Bはnullになってしまいます。
|
40
40
|
|
41
41
|
よろしくお願いいたします。
|
42
42
|
|
4
質問変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
## 問題の概要
|
2
2
|
Javaであるインスタンスを定義してそのインスタンス変数を取得しようとしているのですが、
|
3
|
-
いつの間にかそのインスタンス変数が
|
3
|
+
いつの間にかそのインスタンス変数がnullになってしまっているという現象が起きております。
|
4
4
|
|
5
5
|
確認してみると、そのインスタンス変数のhashCodeが変わってしまっておりました。
|
6
6
|
変わってしまう時にそのインスタンス変数に対して、処理はさせていないため、原因がわからず困っております。
|
@@ -22,12 +22,12 @@
|
|
22
22
|
public static void main(String args[]){
|
23
23
|
// class Aに対してclass Bがリストとして値が格納されているとする
|
24
24
|
System.out.print(a.b.hashCode()); // 100とする
|
25
|
-
System.out.print(a.b); //
|
25
|
+
System.out.print(a.b); // ArrayListの値が存在する
|
26
26
|
if(a.bool){ // 今回はfalseなため、if文の中の処理は行なっていない -> hashCodeが変わるまでにしたのはif文でtrue,falseの判定をしただけ
|
27
27
|
// 何かしらの処理
|
28
28
|
}
|
29
29
|
System.out.print(a.b.hashCode()); // 200になっている
|
30
|
-
System.out.print(a.b); //
|
30
|
+
System.out.print(a.b); // nullになる
|
31
31
|
}
|
32
32
|
}
|
33
33
|
```
|
3
質問変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
public static void main(String args[]){
|
23
23
|
// class Aに対してclass Bがリストとして値が格納されているとする
|
24
24
|
System.out.print(a.b.hashCode()); // 100とする
|
25
|
-
System.out.print(a.b); //
|
25
|
+
System.out.print(a.b); // Listが存在する
|
26
26
|
if(a.bool){ // 今回はfalseなため、if文の中の処理は行なっていない -> hashCodeが変わるまでにしたのはif文でtrue,falseの判定をしただけ
|
27
27
|
// 何かしらの処理
|
28
28
|
}
|
2
質問変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
## 問題の概要
|
2
2
|
Javaであるインスタンスを定義してそのインスタンス変数を取得しようとしているのですが、
|
3
|
-
いつの間にかそのインスタンス変数が
|
3
|
+
いつの間にかそのインスタンス変数が空になってしまっているという現象が起きております。
|
4
4
|
|
5
5
|
確認してみると、そのインスタンス変数のhashCodeが変わってしまっておりました。
|
6
6
|
変わってしまう時にそのインスタンス変数に対して、処理はさせていないため、原因がわからず困っております。
|
@@ -27,7 +27,7 @@
|
|
27
27
|
// 何かしらの処理
|
28
28
|
}
|
29
29
|
System.out.print(a.b.hashCode()); // 200になっている
|
30
|
-
System.out.print(a.b); //
|
30
|
+
System.out.print(a.b); // 空になる
|
31
31
|
}
|
32
32
|
}
|
33
33
|
```
|
1
質問内容変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -22,10 +22,12 @@
|
|
22
22
|
public static void main(String args[]){
|
23
23
|
// class Aに対してclass Bがリストとして値が格納されているとする
|
24
24
|
System.out.print(a.b.hashCode()); // 100とする
|
25
|
+
System.out.print(a.b); // nullではない
|
25
26
|
if(a.bool){ // 今回はfalseなため、if文の中の処理は行なっていない -> hashCodeが変わるまでにしたのはif文でtrue,falseの判定をしただけ
|
26
27
|
// 何かしらの処理
|
27
28
|
}
|
28
29
|
System.out.print(a.b.hashCode()); // 200になっている
|
30
|
+
System.out.print(a.b); // nullになる
|
29
31
|
}
|
30
32
|
}
|
31
33
|
```
|