还是用相应的类吧,那样很容易.
Integer,Long,Double
Integer,Long,Double
解决方案 »
- 不确定for循环层数转递归问题。
- 求一个和CSDN社区即时聊天类似的程序。。。。。
- 100分求从xml文档写入到mysql数据库,救命的,急啊!
- java如何使用jdbc-odbc桥连接access数据库
- 简单的classpath问题
- 编俄罗斯方块中遇到的问题
- 午夜.....加班ing......辛苦.....同命相怜的朋友们,散分了!!!!!!!!(明早或中午结贴..)
- 如何使用jbuilder编译一个工程中单独的一个.java文件
- 想学JAVA,请问JBUILDER 和 VISUAL J++ 一样么?用法区别大么?谢谢
- Window2000+Apache+Tomcat4.0下class文件放哪里呀?自己建新的目录,怎么建?
- 需要什么条件能够解释执行???
- 请教:关于JAR文件运行的问题?
如果是原数据类型(如int),这些在编译期就强制检验的,要获取类型基本没意义。
当然,还有就是利用反射机制获取原数据类型的,这个时候如果需要确定类型,
同样的,反射机制返回值是对象,比如对于类属性的返回,是Field对象,可以
通过里面的getType().getName()获得该属性的类型名称,下面一个例子:
public class Test {
public int testClass = 0;
public void testClass() {
Object DeclaringClass = null;
Object Type = null;
Object ReturnType = null;
try {
DeclaringClass = new Test().getClass().getDeclaredField("testClass").getDeclaringClass();
Type = new Test().getClass().getDeclaredField("testClass").getType().getName();
ReturnType = new Test().getClass().getMethod("testClass", new Class[]{}).getReturnType();
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
System.out.println("=========testClass==========");
System.out.println(DeclaringClass);
System.out.println( "对象属性testClass类型="Type);
System.out.println("方法testClass返回值类型="+ ReturnType);
System.out.println("=========testClass==========");
} public static void main(String[] args) {
new Test().testClass();
}
}
对于使用反射获取方法的参数类型可以用:new Test().getClass().getMethod("testClass", new Class[]{}).getParameterTypes(),获得一个数组,这个例子没有输入参数,所以就不加进去了。
{
public static void main(String[] s)
{
System.out.println(test(1));
double d = 1234d;
System.out.println(util.getType(d));
}
}class util
{
static String getType(boolean b){ return "boolean";};
static String getType(double d){ return "double";};
...
static String getType(short s){ return "short";};
}