我试过这个并从 JAVA 得到奇怪的行为,有人可以为我解释一下吗?
boolean testNull(String... string) {
if(string == null) {
return true;
} else {
System.out.println(string.getClass());
return false;
}
}
boolean callTestNull(String s) {
return testNull(s);
}
然后我有测试用例:
@Test
public void test_cases() {
assertTrue(instance.testNull(null)); // NULL
assertFalse(instance.testNull()); // NOT NULL
assertFalse(instance.callTestNull(null)); // NOT NULL
}
问题是如果我testNull()
直接用参数调用null
,我会true
回来,但如果callTestNull()
用null
调用testNull()
,它告诉我参数不是空的,而是空数组。