Java 7を使用し、varargsメソッドを作成します
public class JavaApplicationTest {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
addBundleMessage("b", Integer.SIZE, "key", (Object) null);
}
public static void addBundleMessage(String bundleName, Integer severity, String key, Object... params) {
if (params == null)
System.out.println("params Is null");
else
System.out.println("Params not null");
}
}
オブジェクトをキャストしないと、IDEのNetbeansまたはEclipseが文句を言いますが、コンパイルされます。
最後のパラメーターの引数タイプが不正確なvaragsメソッドの非varargs呼び出し
キャストなしの場合:パラメータがnullで表示されます
nullを(オブジェクト)にキャストすると、nullではないパラメータが表示されます
nullを(Object [])にキャストすると、 paramsがnullと表示されます
それは正常な動作ですか?