İşte bir Class<?> cls
değişken, şimdi cls
olan bir bileşen türü Array Class Object
almak istiyorum.: get `String []. Class` from String.class`, String.class` bir" çalışma zamanı türü "ise ne olur?
Örneğin, cls
= String.class
ise, String[].class
almak istiyorum; cls
= int.class
ise, int[].class
almak istiyorum, ne yapmalıyım?
Class<?> arrayCls = String[].class;
if(arrayCls.isArray()){
Class<?> cls = arrayCls.getComponentType();
}
Ama ters yapmak kolay yolu bulamıyor: Görüyorsunuz
, O String[].class
den String.class
almak oldukça kolaydır.
Class<?> clazz = String.class;
Class<?> arrayClass = Array.newInstance(clazz,0).getClass();
Lütfen bunu için herhangi vurucu yolu var mı:
Burada olası bir çözüm mü?
Bu çözümdeki sorun nedir? – Thilo
@Thilo Çözüm benim tahminimin bir sonucudur. İyi çalışıyor, ama bunun en iyi yol olup olmadığından emin değilim. Bu çözümün, uzunluğun 0 olduğu bir dizi varlık oluşturmak için dinamik olması gerekir. – watchzerg
İlginç soru. Sadece 'Class' nesnesine neden ihtiyaç duyduğunuzu merak ediyor musunuz? –