我試過這個,並從JAVA得到奇怪的行爲,有人可以解釋這對我嗎?Java 3點參數(可變參數)行爲時,通過沒有參數或NULL
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()
,它告訴我參數不是null,而是空數組。
如何找到該數組是空的? –
也被稱爲省略號 –
我的意思是用Java術語。但是,是的,字符「...」確實叫做省略號。有關編程的更多信息,請使用https://en.wikipedia。org/wiki/Ellipsis_(programming_operator) – eldris