回答編集履歴

2

追記

2015/11/30 13:29

投稿

argius
argius

スコア9390

test CHANGED
@@ -7,6 +7,44 @@
7
7
  `format`メソッドは、第1引数にフォーマット文字列を指定します。
8
8
 
9
9
  この場合、おそらく`strSql`には空文字列が設定されていますので、フォーマットが存在せず、エラーになっています。
10
+
11
+
12
+
13
+ ---
14
+
15
+
16
+
17
+ (追記)
18
+
19
+
20
+
21
+ フォーマット文字列に変数を使用するのは、このような問題を発生させることが多くなるので、避けた方が賢明です。余程複雑なことをするのであれば話は別ですが、そうでなければさけたほうが良いです。
22
+
23
+ Javaに限らず、フォーマット文字列を変数にしてしまうことで問題が発生したケースを良く耳にしました。
24
+
25
+
26
+
27
+ せめて、第2引数で`strSql`を指定するようにできないでしょうか?
28
+
29
+
30
+
31
+ 最終的にどうしたいのかが分からないので勘ですが、こんな感じです。
32
+
33
+ ```lang-java
34
+
35
+ strSql = String.format("%s in (%s)", strSql, addSql);
36
+
37
+ ```
38
+
39
+
40
+
41
+
42
+
43
+ 追記ここまで
44
+
45
+
46
+
47
+ ---
10
48
 
11
49
 
12
50
 

1

訂正:format=>formatメソッド

2015/11/30 13:29

投稿

argius
argius

スコア9390

test CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
 
4
4
 
5
+
6
+
5
- `format`は、第1引数にフォーマット文字列を指定します。
7
+ `format`メソッドは、第1引数にフォーマット文字列を指定します。
6
8
 
7
9
  この場合、おそらく`strSql`には空文字列が設定されていますので、フォーマットが存在せず、エラーになっています。
8
10
 
@@ -10,7 +12,7 @@
10
12
 
11
13
 
12
14
 
13
- formatは、下記のようにして使用するものです。
15
+ `format`メソッドは、下記のようにして使用するものです。
14
16
 
15
17
 
16
18
 
@@ -31,3 +33,5 @@
31
33
  String.formatメソッド - Java SE 8 API ドキュメント
32
34
 
33
35
  [https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#format-java.lang.String-java.lang.Object...-](https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#format-java.lang.String-java.lang.Object...-)
36
+
37
+