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

質問編集履歴

6

2017/08/29 13:59

投稿

lupus_dingo
lupus_dingo

スコア257

title CHANGED
File without changes
body CHANGED
@@ -33,4 +33,10 @@
33
33
  printlnを試したところ、ログは出力されていませんでした。ただし、entity.getId()とidの中身もツールチップで出力してみたのですが、一致していることは確認しています。(ステップ実行でprintlnを通過しているが実際にはログは出力されていないということです。)
34
34
 
35
35
  for文を抜けないというのは、
36
- ifで条件一致しても中の処理が実行されず、結局要素数分ループが行われ、nullが返るという意味です。
36
+ ifで条件一致しても中の処理が実行されず、結局要素数分ループが行われ、nullが返るという意味です。
37
+
38
+ [追記2]
39
+ for文の直後ではログは出力されています。
40
+ ステップ実行の環境はeclipse3.7です。
41
+
42
+ arrayListのループではなくHashMapのcontainsKeyに変更したところ(メソッドの戻り値も変更)うまく動作しました。

5

2017/08/29 13:59

投稿

lupus_dingo
lupus_dingo

スコア257

title CHANGED
File without changes
body CHANGED
@@ -30,7 +30,7 @@
30
30
  [追記]
31
31
  return null;の位置は誤記ですので修正しました。すみません。
32
32
  return entity;の前で
33
- printlnを試したところ、ログは出力されていませんでした。ただし、entity.getId()とidの中身も出力してみたのですが、一致していることは確認しています。
33
+ printlnを試したところ、ログは出力されていませんでした。ただし、entity.getId()とidの中身もツールチップで出力してみたのですが、一致していることは確認しています。(ステップ実行でprintlnを通過しているが実際にはログは出力されていないということです。)
34
34
 
35
35
  for文を抜けないというのは、
36
36
  ifで条件一致しても中の処理が実行されず、結局要素数分ループが行われ、nullが返るという意味です。

4

2017/08/28 04:16

投稿

lupus_dingo
lupus_dingo

スコア257

title CHANGED
File without changes
body CHANGED
@@ -30,4 +30,7 @@
30
30
  [追記]
31
31
  return null;の位置は誤記ですので修正しました。すみません。
32
32
  return entity;の前で
33
- printlnを試したところ、ログは出力されていませんでした。ただし、entity.getId()とidの中身も出力してみたのですが、一致していることは確認しています。
33
+ printlnを試したところ、ログは出力されていませんでした。ただし、entity.getId()とidの中身も出力してみたのですが、一致していることは確認しています。
34
+
35
+ for文を抜けないというのは、
36
+ ifで条件一致しても中の処理が実行されず、結局要素数分ループが行われ、nullが返るという意味です。

3

2017/08/28 03:28

投稿

lupus_dingo
lupus_dingo

スコア257

title CHANGED
File without changes
body CHANGED
@@ -28,4 +28,6 @@
28
28
  return , break が効かない場合はあるのでしょうか?
29
29
 
30
30
  [追記]
31
- return null;の位置は誤記ですので修正しました。すみません。
31
+ return null;の位置は誤記ですので修正しました。すみません。
32
+ return entity;の前で
33
+ printlnを試したところ、ログは出力されていませんでした。ただし、entity.getId()とidの中身も出力してみたのですが、一致していることは確認しています。

2

2017/08/28 03:25

投稿

lupus_dingo
lupus_dingo

スコア257

title CHANGED
File without changes
body CHANGED
@@ -9,9 +9,9 @@
9
9
  if(entity.getId()==id){
10
10
  return entity;
11
11
  }
12
+ }
12
13
  return null;
13
14
  }
14
- }
15
15
 
16
16
  //使用側
17
17
  EntityA entity = get(list, id);
@@ -25,4 +25,7 @@
25
25
 
26
26
  ステップ実行で実際にreturnまでカーソルが移動することを確認していますが、for文は抜けないので結局nullが返ります。
27
27
 
28
- return , break が効かない場合はあるのでしょうか?
28
+ return , break が効かない場合はあるのでしょうか?
29
+
30
+ [追記]
31
+ return null;の位置は誤記ですので修正しました。すみません。

1

2017/08/28 03:10

投稿

lupus_dingo
lupus_dingo

スコア257

title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  以下のような拡張for文なのですが、
4
4
  returnでメソッドを終了してくれません。
5
-
5
+ ```java
6
6
  private EntityA get(List<EntityA> entitylist, Long id){
7
7
 
8
8
  for (EntityA entity: entitylist){
@@ -13,14 +13,14 @@
13
13
  }
14
14
  }
15
15
 
16
- 使用側
16
+ //使用側
17
17
  EntityA entity = get(list, id);
18
18
  if(entity ==null){
19
19
  entity=getDb(id);
20
20
  list.add(entity);
21
21
  }
22
+ ```
22
23
 
23
-
24
24
  代わりにbreakで試してみましたがやはりfor文を抜けませんでした。
25
25
 
26
26
  ステップ実行で実際にreturnまでカーソルが移動することを確認していますが、for文は抜けないので結局nullが返ります。