Java中怎么知道一个变量的类型?

2024-11-15 09:24:50
推荐回答(5个)
回答1:

复制下面代码:

class Test{

public static void main(String[] args){

int i=1; //int类型变量

System.out.println(getType(i)); //打印变量类型为int

}

public static String getType(Object o){ //获取变量类型方法

return o.getClass().toString(); //使用int类型的getClass()方法

}

}

扩展资料:

java8种基本数据类型 (4种整型+2种浮点型+1种字符型+1种逻辑型) 

4种整型:

byte-1 字节:-128~127 ;

short -2 字节:-32768~32767 ;

int-4 字节:-2^31~2^31-1;

long-8 字节:-2^63~2^63-11234。

2种浮点型

float-4 字节-32位IEEE 754单精度(有效位数6~7位);

double-8 字节-64位IEEE 754双精度(有效位数15位)。

1种字符型

char-2 字节-整个Unicode字符集。

1种逻辑型

boolean-1 字节-true或者false。

回答2:

通过java的反射机制获取。

在类加载的时候,jvm会创建一个class对象。class对象是可以说是反射中最常用的,获取class对象的方式的主要有三种:

1、根据类名:类名.class。

2、根据对象:对象.getClass()。

3、根据全限定类名:Class.forName(全限定类名)。

创建一个测试代码如下:

console结果:

扩展资料:

java反射机制的更多应用场合:

在Java程序中许多对象在运行是都会出现两种类型:编译时类型和运行时类型。 编译时的类型由声明对象时实用的类型来决定,运行时的类型由实际赋值给对象的类型决定。

例如:Person p=new Student();

其中编译时类型为Person,运行时类型为Student。 

除此之外,程序在运行时还可能接收到外部传入的对象,该对象的编译时类型为Object,但是程序有需要调用该对象的运行时类型的方法。

为了解决这些问题,程序需要在运行时发现对象和类的真实信息。然而,如果编译时根本无法预知该对象和类属于哪些类,程序只能依靠运行时信息来发现该对象和类的真实信息,此时就必须使用到反射机制。

参考资料:

百度百科--JAVA反射机制(getClass())

回答3:

用java的反射机制啊!
比如String str = "abc";
Class c1 = str.getClass();
system.out.println(str.getClass());
就会显示了

回答4:

用reflected getType() 自己查。

回答5:

直接输出你就知道了。
System.out.println(a);