teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

タイトル変更

2017/03/15 12:36

投稿

sequence
sequence

スコア29

title CHANGED
@@ -1,1 +1,1 @@
1
- 【Java】インスタンス変数のhashCode途中で変わってしまう
1
+ 【Java】インスタンス変数が突然nullになってしまう
body CHANGED
@@ -36,7 +36,7 @@
36
36
  わかる範囲で共通点を申し上げますと、
37
37
  class Bに当たるインスタンスには多くのプロパティが存在しており、それぞれに対してデータの追加、加工等の処理をさせている。
38
38
  ということぐらいです。
39
- なお、今回のif文を消しても次の処理が終わるとhashCodeが書き換わっております。
39
+ なお、今回のif文を消しても次の処理が終わるとListのclass Bはnullになっています。
40
40
 
41
41
  よろしくお願いいたします。
42
42
 

4

質問変更

2017/03/15 12:36

投稿

sequence
sequence

スコア29

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); // Listが存在する
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

質問変更

2017/03/15 12:32

投稿

sequence
sequence

スコア29

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); // nullではない
25
+ System.out.print(a.b); // Listが存在する
26
26
  if(a.bool){ // 今回はfalseなため、if文の中の処理は行なっていない -> hashCodeが変わるまでにしたのはif文でtrue,falseの判定をしただけ
27
27
  // 何かしらの処理
28
28
  }

2

質問変更

2017/03/15 12:21

投稿

sequence
sequence

スコア29

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  ## 問題の概要
2
2
  Javaであるインスタンスを定義してそのインスタンス変数を取得しようとしているのですが、
3
- いつの間にかそのインスタンス変数がnullになってしまっているという現象が起きております。
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); // nullになる
30
+ System.out.print(a.b); // になる
31
31
  }
32
32
  }
33
33
  ```

1

質問内容変更

2017/03/15 12:20

投稿

sequence
sequence

スコア29

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
  ```