Я пробовал это и получал странное поведение от 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()
, он сообщает мне, что параметр а не пустой, но пустой массив.