package test;<br/><br/>import java.lang.reflect.Field;<br/>import java.lang.reflect.Method;<br/>import java.util.ArrayList;<br/>import java.util.Iterator;<br/>import java.util.List;<br/><br/>public class TestType {<br/>public static void main(String[] args) {<br/>TestType t=new TestType();<br/>Method[] methods=t.getClass().getMethods();<br/>for (int i = 0; i < methods.length; i++) {<br/>Method m=methods[i];<br/>System.out.println(m.getName());<br/>Class[] params=m.getParameterTypes();<br/>for (int j = 0; j < params.length; j++) {<br/>Class p=params[j];<br/>System.out.println(p);<br/>System.out.println(p.getName());<br/>System.out.println(p.getCanonicalName());<br/>System.out.println(p.getSimpleName());<br/>Field f;<br/>try {<br/>f = p.getDeclaredField("TYPE");<br/>if(f!=null)<br/>System.out.println(">>>"+f.get(null));<br/><br/>} catch (SecurityException e) {<br/>} catch (NoSuchFieldException e) {<br/>} catch (IllegalArgumentException e) {<br/>} catch (IllegalAccessException e) {<br/>}<br/><br/><br/><br/>}<br/>System.out.println("-----------------------------------------------");<br/><br/>}<br/>//System.out.println(Integer.TYPE);<br/><br/>List list=new ArrayList();<br/>list.add(1);<br/>list.add(new Integer(1));<br/>for (Iterator iterator = list.iterator(); iterator.hasNext();) {<br/>Object object = (Object) iterator.next();<br/>System.out.println(object.getClass().getName());<br/><br/>}<br/>}<br/><br/>public void intF(int i) {<br/>}<br/><br/>public void integerF(Integer i) {<br/>}<br/><br/>public void doubleF(double i) {<br/>}<br/><br/>public void DoubleF(Double i) {<br/>}<br/><br/>public void booleanF(boolean i) {<br/>}<br/><br/>public void BooleanF(Boolean i) {<br/>}<br/>}<br/>?<br/>比如说int 和java.lang.Integer<br/>在每个包装类中都有一个静态字段TYPE<br/>通过获取TYPE字段来获取其原始类型,如果获取异常,则说明其不是包装类。<br/>然后通过获取该字段的值,来获取原始类型的名称。package test;<br/><br/>import java.lang.ref 你的当前访问异常,请进行认证后继续阅读剩余内容。 提交