私は多くのことを反映しないので、この質問は明らかです。例えば、私はクラスを持っている:java.lang.reflect.Fieldタイプがバイト配列であるかどうかを確認してください
public class Document {
private String someStr;
private byte[] contents;
//Getters and setters
}
私はフィールドcontents
は、バイト配列のインスタンスであるかどうかを確認しようとしています。私が試した:
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[]
のタイプのフィールドが含まれているかどうかをチェックする方法は?
ありがとう、今私はそれを得る:) –