많은 질문을하지 않으므로이 질문이 명백 할 수도 있습니다. 예 : I 필드 contents
이 바이트 배열의 인스턴스가 있는지 확인하려고java.lang.reflect.Field 유형이 바이트 배열인지 확인하십시오.
public class Document {
private String someStr;
private byte[] contents;
//Getters and setters
}
: I 클래스가 있습니다. 내가 시도한 것 :
Class clazz = Document.class;
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
if (field.getType().isArray()) {
Object array = field.getType();
System.out.println(array);
}
}
이 코드의 출력은 class [B
입니다. 나는 바이트 배열이 발견 볼 수 있지만 내가 할 경우 :
if (array instanceof byte[]) {...}
을이 조건은 결코 true
없습니다. 왜 그런가요? 그리고 객체에 byte[]
유형의 필드가 있는지 확인하는 방법은 무엇입니까?
감사합니다. 이제 알 수 있습니다. :) –