모든 개체의 값이 비어 있는지 확인하는 메서드를 만들고 싶습니다. 입력 개체가 null
이면 return true;
입니다. 입력 형식이 배열 인 경우 길이를 확인하십시오. 다음은이 논리기본 빈 배열을 확인하는 방법
public static boolean isEmpty(Object input) {
if (input == null) {
return true;
}
if (input instanceof Collection) {
if (((Collection<?>) input).size() == 0) {
return true;
}
}
if (input instanceof String) {
if (((String) input).trim().length() == 0) {
return true;
}
}
if (input instanceof Object[]) {
if (((Object[]) input).length == 0) {
return true;
}
}
return false;
}
을 구현하는 나의 방법이다하지만 a
및 b
이 false
을 왜 내가 아무 생각이
int[] a = {};
float[] b = {};
Integer[] c = {};
Float[] d = {};
System.out.println(Validator.isEmpty(a));
System.out.println(Validator.isEmpty(b));
System.out.println(Validator.isEmpty(c));
System.out.println(Validator.isEmpty(d));
등 테스트하는 동안 문제이다. 누군가 나를 설명 할 수 있을까?
을 * "A와 B는 거짓 왜 아무 생각이 없습니다."* 당신이 되세요 당신이'new float [0] instanceof Object []'를 할 때 당신이 얻는 것을 확인 했습니까? –
이 방법에 대한 특별한 이유가 있습니까? 다른 타입 인자를 취하는 세가지 다른 isEmpty 메소드를 사용 해본 적이 있습니까? – pathfinderelite
@ T.J.Crowder 죄송합니다! '호환되지 않는 조건부 피연산자 유형 float []과 Object []'이 있습니다 – Cataclysm