社区
Java SE
帖子详情
java中如何获得某一变量的类型,如int ,long ,double 型,万分感谢!
boboxing2003
2003-10-18 10:11:38
java中如何获得某一变量的类型,如int ,long ,double 型,万分感谢!
应该可以做到的吧,谢谢!
...全文
908
4
打赏
收藏
java中如何获得某一变量的类型,如int ,long ,double 型,万分感谢!
java中如何获得某一变量的类型,如int ,long ,double 型,万分感谢! 应该可以做到的吧,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sasa_sasa
2003-10-18
打赏
举报
回复
Integer.ParseInt(String str);
swinging
2003-10-18
打赏
举报
回复
如果是对象,那么可以使用getClass().getName()方法获得该对象的类名,
如果是原数据类型(如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(),获得一个数组,这个例子没有输入参数,所以就不加进去了。
coolskeeter
2003-10-18
打赏
举报
回复
还是用相应的类吧,那样很容易.
Integer,Long,Double
littlecpu
2003-10-18
打赏
举报
回复
有个简单的方法
class test
{
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";};
}
跟汤老师学
Java
(第2季):
变量
和数据
类
型
本课程从零开始,以通俗易懂的方式讲解
Java
入门,手把手教你掌握每一个知识点。 课程
中
使用的所有英文单词都会逐一查询并记录,真正做到零基础入门学习,最适合初学者的教程,让你少走弯路!课程内容包括: 1.
变量
...
Java
SE ·
变量
介绍 ·
变量
类
型
(
int
long
double
float char byte short boolean String)·
变量
的作用域 ·
变量
的命名规则
变量
指的是程序运行时可变的量,相当于开辟一块内存空间来保存一些数据。
类
型
则是对
变量
的种类进行了划分,不同的
类
型
的
变量
具有不同的特性。字节是计算机
中
表示空间大小的基本单位。计算机使用二进制表示数据,我们认为 8 个二进制位(bit)为一个字节(Byte)。例如我们平时的计算机内存为 8GB,意思是 8G 个字节。所以8GB相当于80多亿个字节。4个字节表示的数据范围是,也就大概 -21亿到 +21亿。}
java
的两种默认数据
类
型
,
int
(整数
类
型
)、
double
(浮点数
类
型
)
java
两种默认数据
类
型
,
int
、
double
java
的数据
类
型
,整数默认为
int
,浮点数默认为
double
,如果
long
= 10000000000,输出会显示错误,超出了实际为
int
类
型
的数据范围(
long
类
型
比
int
类
型
更高一级),需要在数值后面添加一个L,表明其为
long
类
型
,才可以正常输出,即
long
= 10000000000L。同理,如果float f = 13.14,输出也会显示错误,不能从
double
类
型
转到float
类
型
(从高阶数据
类
型
不能自动转为低价数据
类
型
),需要为float类
Java
中
数字
类
型
(
int
、float、
long
、
double
)的取值范围,内存泄漏
java
中
的所有数字都是有符号的,没有类似于C语言的unsigned
类
型
---------------------------------------------------------------------
int
类
型
int
在
java
中
是固定的32bits,表示的范围是 -2^31至2^31-1。10位:-2147483648~2147483647。正的20亿左右,小数量计算使用。System....
Java
中
的
Long
和
Double
类
型
Long
型
数据与
Double
型
数据都是8位的,为什么
Double
的数值范围那么大呢?
Long
型
数据范围是-2^63-(2^63-1),为什么
Double
类
型
的范围不是它,而是1.7e-308-1.7e+308呢?
Java
中
的原子操作包括:1)除
long
和
double
之外的基本
类
型
的赋值操作2)所有引用reference的赋值操作3)
java
.concurrent.Atomic.* 包
中
所有类的一切
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章