2013-08-06 2 views
0
} else if (fieldType.equals(Float.TYPE)) { 
    return random.nextFloat(); //catches primitive 
} else if (fieldType.equals(Boolean.TYPE)) { 
    return random.nextBoolean(); 
} else if (Number.class.isAssignableFrom(fieldType)) { 
    return random.nextInt(Byte.MAX_VALUE) + 1; //catches Float 

어떻게 프리미티브와 객체를 같은 위치에서 잡을 수 있습니까?리플렉션을 사용하여 플로트 할당

+0

정확하지는 않지만 Sun/Oracle 포럼에서 수년간의 질문을 해독 해 왔습니다. – Kayaman

답변

4

Float.TYPEFloat.class과 비교 (Class<?> fieldType는 경우).

첫 번째는 원시이며, 후자는 래퍼입니다.

e.e. if(fieldType.equals(Float.class) || fieldType.equals(Float.TYPE))

+0

또한 'float.class'는'Float.TYPE'과 동일합니다. –

관련 문제