2 NİSAN 2009, PERŞEMBE
Bir Nesne belirleme ilkel türüdür
Object[]
bir dizi var, ve ilkel olanları bulmaya çalışıyorum. Class.isPrimitive()
, kullanmak için denedim ama ben yanlış bir şey yapıyorum gibi görünüyor:
int i = 3;
Object o = i;
System.out.println(o.getClass().getName() ", "
o.getClass().isPrimitive());
baskılar java.lang.Integer, false
.
Doğru bir şekilde ya da başka bir alternatif var mı?
CEVAP
2 NİSAN 2009, PERŞEMBE
Object[]
bir irade türleri aslagerçektenbaşvurular var, çünkü ilkel olur. Burada i
tipi nesne o
tarafından başvurulan tür Integer
(otomatik-boks nedeniyle) ise int
.
Türü olup olmadığını öğrenmek gerekir gibi geliyor ilkel için "kapsayıcı". Hiçbir şey bu standart kütüphaneler yerleşik olduğunu bilmiyorum ama kolay kod:
import java.util.*;
public class Test
{
public static void main(String[] args)
{
System.out.println(isWrapperType(String.class));
System.out.println(isWrapperType(Integer.class));
}
private static final Set<Class<?>> WRAPPER_TYPES = getWrapperTypes();
public static boolean isWrapperType(Class<?> clazz)
{
return WRAPPER_TYPES.contains(clazz);
}
private static Set<Class<?>> getWrapperTypes()
{
Set<Class<?>> ret = new HashSet<Class<?>>();
ret.add(Boolean.class);
ret.add(Character.class);
ret.add(Byte.class);
ret.add(Short.class);
ret.add(Integer.class);
ret.add(Long.class);
ret.add(Float.class);
ret.add(Double.class);
ret.add(Void.class);
return ret;
}
}
Bunu Paylaş:
Neden Java nesne başvurusu bir ilkel d...
Eclipse Java proje: türü java.lang.Nes...
Böyle büyük mükafat 4.6.3 içinde Dropb...
Bir sürüklenebilir geri dönmek jQuery ...
Bir anahtar olmadığını kontrol json bi...