मुझे प्रतिबिंब नहीं है इसलिए यह प्रश्न स्पष्ट हो सकता है। उदाहरण के लिएजांचें कि 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[]
के प्रकार हैं?
धन्यवाद, अब मुझे यह मिल गया है :) –