Java中怎么知道一个变量的类型?
发布网友
发布时间:2022-04-29 22:51
我来回答
共9个回答
热心网友
时间:2022-04-18 05:18
复制下面代码:
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。
热心网友
时间:2022-04-18 06:36
通过java的反射机制获取。
在类加载的时候,jvm会创建一个class对象。class对象是可以说是反射中最常用的,获取class对象的方式的主要有三种:
1、根据类名:类名.class。
2、根据对象:对象.getClass()。
3、根据全限定类名:Class.forName(全限定类名)。
创建一个测试代码如下:
console结果:
扩展资料:
java反射机制的更多应用场合:
在Java程序中许多对象在运行是都会出现两种类型:编译时类型和运行时类型。 编译时的类型由声明对象时实用的类型来决定,运行时的类型由实际赋值给对象的类型决定。
例如:Person p=new Student();
其中编译时类型为Person,运行时类型为Student。
除此之外,程序在运行时还可能接收到外部传入的对象,该对象的编译时类型为Object,但是程序有需要调用该对象的运行时类型的方法。
为了解决这些问题,程序需要在运行时发现对象和类的真实信息。然而,如果编译时根本无法预知该对象和类属于哪些类,程序只能依靠运行时信息来发现该对象和类的真实信息,此时就必须使用到反射机制。
参考资料:
百度百科--JAVA反射机制(getClass())
热心网友
时间:2022-04-18 08:11
用java的反射机制啊!
比如String str = "abc";
Class c1 = str.getClass();
system.out.println(str.getClass());
就会显示了
热心网友
时间:2022-04-18 10:02
不合法,因为a是Boolean对象,它不能和int类型比较大小。
请参考
热心网友
时间:2022-04-18 12:10
直接输出你就知道了。
System.out.println(a);
热心网友
时间:2022-04-18 14:35
用reflected getType() 自己查。
热心网友
时间:2022-04-18 17:16
---------------------------------------------
对于简单类型变量,是无法直接获得变量类型的;
对于包装类型变量,是可以直接获得的,变量名称.getClass().getName();
---------------------------------------------
热心网友
时间:2022-04-18 20:14
比如有个变量a,现在不知道是什么类型的,可能是char,int,double什么的,.你新学的吧?服了你了变量用之前必须要声明明白你想问什么要想看变量
热心网友
时间:2022-04-18 23:29
查API手册
Java中怎么知道一个变量的类型?
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()方法 } } ...
在JAVA中怎么取得一个变量的类型
对于包装类型变量,是可以直接获得的,变量名称.getClass().getName();示例:lass 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.ge...
java中怎么判断变量是不是int类型的,用typeof报错啊
1 java中没有typeof这个操作符或者方法,有instanceof。2 java中的变量全部都是要先声明的。因此,判断变量是不是int型,那么可以通过查看变量声明的地方,一定有类型的。所以很明确的就知道这个变量是什么类型。3 使用instanceof,这个是使用在对象中的。判断对象是不是某个类的对象等,如果要真想...
java中怎么判断变量是不是int类型的
首先java中没有typeof关键字,可以通过反射机制来完成,给个思路:import java.lang.reflect.Field;public class test { byte i = 1;int j = i;int w ;/ param args / public static void main(String[] args) { try { Field[] a = test.class.getDeclaredFields();for(...
java中怎么判断变量是不是int类型的,用typeof报错?
java里没有typerof ,要用instanceof 基础类型不行,要用对象 Integer i = 0;if (i instanceof Integer) { intln("haha");} String str = "abc";if (str instanceof Object) { intln("haha");} 希望能给你帮助。
java中如何判断一个变量是否属于某个枚举类型中的元素?
枚举其实就是一种类型,跟int, char 这种差不多,就是定义变量时限制输入的,你只能够赋enum里面规定的值。枚举类型是JDK5.0的新特征。Sun引进了一个全新的关键字enum来定义一个枚举类。下面就是一个典型枚举类型的定义:Java代码:public enum Color{ RED,BLUE,BLACK,YELLOW,GREEN } 显然,enum...
如题,java中怎么判断变量是不是int类型的,用typeof报
int a = 0;Integer.class.isInstance(a); //true
java中怎么判断变量是不是int类型的
Integer a =0; if (a instanceof Integer){ System.out.println("a is Integer"); }
请问java中的field是什么意思
Java中Field 提供有关类或接口的单个字段的信息,以及对它的动态访问权限。反射的字段可能是一个类字段或实例字段。Field是成员变量的意思。Field也是一个类,该类位于java.lang.reflect包下。Field使用示例:class Test{ private int a; //private field私有域 protected double b; //protected field...
JAVA中的属性、方法、构造器,你真的弄懂了吗?
大家好,我是卷心菜,大二学生一枚,本篇主要讲解Java的属性、方法和构造器。如果您看完文章有所收获,可以三连支持博主哦~,嘻嘻。一、变量分类成员变量:在方法体外,类体内声明的变量称为成员变量;不以static修饰的是实例变量,以static修饰的为类变量 局部变量:在方法体内部声明的变量称为局部变量 ...