私はそれを少し読みましたが、Javaでは指定されたパラメーターの元の値を変更できず、メソッドが終了した後もそれらが持続することを期待していることを理解しています。しかし、これを行うための良い方法を知りたいです。このメソッドを機能させるために何ができるかについて、誰かが私にいくつかの指針を教えてもらえますか? ありがとう。
/**
* This will set values in the given array to be "" (or empty strings) if they are null values
*
* @param checkNull
*/
public static void setNullValuesBlank(String... checkNull) {
for (int i = 0; i < checkNull.length; i++) {
String check = checkNull[i];
if (check == null) {
check = "";
}
}
}
編集
したがって、何人かが言及したように配列に設定する必要があり、最初に配列を構築するとうまく機能しますが、そうしないと機能しません。
固定方法は次のとおりです。
/**
* This will set values in the given array to be "" (or empty strings) if they are null values
*
* @param checkNull
*/
public static void setNullValuesBlank(String... checkNull) {
for (int i = 0; i < checkNull.length; i++) {
if (checkNull[i] == null) {
checkNull[i] = "";
}
}
}
これが機能する呼び出しは次のとおりです。
String s = null;
String a = null;
String[] arry = new String[]{s, a};
for (int i = 0; i < arry.length; i++) {
System.out.println(i + ": " + arry[i]);
}
setNullValuesBlank(arry);
for (int i = 0; i < arry.length; i++) {
System.out.println(i + ": " + arry[i]);
}
これは機能しない呼び出しですが、私はそれをしたいです:
String q = null;
String x = null;
System.out.println("q: " + q);
System.out.println("x: " + x);
setNullValuesBlank(q, x);
System.out.println("q: " + q);
System.out.println("x: " + x);
その出力:
q: null
x: null
q: null
x: null