java integer long 转换_java - 将Integer转换为Long
java - 将Integer转换为Long
我需要使用反射来获取字段的值。 碰巧我并不总是确定该字段的数据类型是什么。 为此,为了避免一些代码重复,我创建了以下方法:
@SuppressWarnings("unchecked")
private static T getValueByReflection(VarInfo var, Class> classUnderTest, Object runtimeInstance) throws Throwable {
Field f = classUnderTest.getDeclaredField(processFieldName(var));
f.setAccessible(true);
T value = (T) f.get(runtimeInstance);
return value;
}
并使用此方法,如:
Long value1 = getValueByReflection(inv.var1(), classUnderTest, runtimeInstance);
要么
Double[] value2 = getValueByReflection(inv.var2(), classUnderTest, runtimeInstance);
问题是我似乎无法将Integer投射到Long:
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long
有没有更好的方法来实现这一目标?
我使用的是Java 1.6。
13个解决方案
113 votes
只是:
Integer i = 7;
Long l = new Long(i);
vahid kh answered 2019-08-13T04:30:29Z
79 votes
不,您不能将Integer转换为Long,即使您可以从int转换为long.对于已知为数字且您想获得长值的单个值,您可以使用:
Number tmp = getValueByReflection(inv.var1(), classUnderTest, runtimeInstance);
Long value1 = tmp.longValue();
对于阵列,它会更棘手......
Jon Skeet answered 2019-08-13T04:30:10Z
42 votes
Integer i = 5; //example
Long l = Long.valueOf(i.longValue());
这样可以避免转换为String时的性能损失。 Integer中的longValue()方法只是int值的强制转换。 Long.valueOf()方法为vm提供了使用缓存值的机会。
Rich MacDonald answered 2019-08-13T04:30:56Z
18 votes
奇怪的是,我发现如果你从一个字符串解析它是有效的。
int i = 0;
Long l = Long.parseLong(String.valueOf(i));
int back = Integer.parseInt(String.valueOf(l));
赢得。
Anon answered 2019-08-13T04:31:29Z
7 votes
通过添加' L'直接将整数转换为long。 到整数结束。
Long i = 1234L;
Jeff Johny answered 2019-08-13T04:31:55Z
6 votes
将整数转换为长非常简单且有很多方法可以转换它
例1
new Long(your_integer);
例2
Long.valueOf(your_integer);
例3
Long a = 12345L;
例4
如果您已将int类型化为Integer,则可以执行以下操作:
Integer y = 12;
long x = y.longValue();
Naresh Kumar answered 2019-08-13T04:32:41Z
5 votes
如果Integer不为null
Integer i;
Long long = Long.valueOf(i);
valueOf将自动强制转换为new。
使用valueOf而不是new允许编译器或JVM缓存此值(如果它很小),从而产生更快的代码。
lostintranslation answered 2019-08-13T04:33:22Z
4 votes
((Number) intOrLongOrSomewhat).longValue()
cingulata answered 2019-08-13T04:33:41Z
1 votes
如果您知道Integer不是NULL,则可以这样做:
Integer intVal = 1;
Long longVal = (long) (int) intVal
Steven Spungin answered 2019-08-13T04:34:08Z
1 votes
new Long(Integer.longValue());
要么
new Long(Integer.toString());
Pavlo Zvarych answered 2019-08-13T04:34:29Z
1 votes
从int变量到long类型的解析器包含在Integer类中。 这是一个例子:
int n=10;
long n_long=Integer.toUnsignedLong(n);
您可以轻松使用此内置函数来创建从int解析为long的方法:
public static long toLong(int i){
long l;
if (i<0){
l=-Integer.toUnsignedLong(Math.abs(i));
}
else{
l=Integer.toUnsignedLong(i);
}
return l;
}
Bremsstrahlung answered 2019-08-13T04:35:04Z
0 votes
这是无效的
Number tmp = getValueByReflection(inv.var1(), classUnderTest, runtimeInstance);
Long value1 = tmp == null ? null : tmp.longValue();
adkisson answered 2019-08-13T04:35:30Z
-1 votes
如果是Long类型的List,则将L添加到每个Integer值的末尾
List list = new ArrayList();
list = Arrays.asList(1L, 2L, 3L, 4L);
Joydeep Dutta answered 2019-08-13T04:35:58Z
java integer long 转换_java - 将Integer转换为Long相关推荐
- java时间格式转换_Java时间日期格式转换
突然忘记了时间格式怎么转换,特此做个记录 Java时间格式转换大全 import java.text.*; import java.util.Calendar; public class VeDate ...
- java int 64 转换_Java中数据类型及其之间的转换
Java中数据类型及其之间的转换 Java中数据类型及其之间的转换 基本的数据类型 基本类型有以下四种: 1)int长度数据类型有:byte(8bits).short(16bits).int(32bi ...
- java 流量单位转换_将内容转换为持续流量的五种最佳方法
java 流量单位转换 Websites that have focused on content marketing have done really well for themselves. We ...
- java long string 转换_Java long 转成 String的实现
Java long 转成 String的实现 第一种: String s = String.valueOf(long) 第二种: String s = Long.toString(long) 补充知识 ...
- java版 pdf转换_java如何将pdf转换成image
java如何将pdf转换成image 发布时间:2020-08-26 03:05:15 来源:脚本之家 阅读:86 作者:yiluoak_47 本文实例为大家分享了java将pdf转换image的具体 ...
- java中 int 比较_java中Integer与int的种种比较你知道多少?
如果面试官问Integer与int的区别:估计大多数人只会说道两点,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null.但是如果面试官再问一下Integer i = 1; ...
- java中integer的范围_java中integer取值范围是什么
java中integer取值范围是什么 发布时间:2020-08-27 10:01:14 来源:亿速云 阅读:69 作者:小新 这篇文章给大家分享的是有关java中integer取值范围是什么的内容. ...
- java 泛型强制转换_java – 使用泛型强制转换为内部类
请考虑以下代码: public class Outer { public class Inner{ } public static Outer.Inner get(){ Object o = new ...
- java 中文日期转换_Java将中文日期转换为日期
直接上代码 public static void main(String[] args) throws IOException { testConvertZwrq(); } private stati ...
最新文章
- JVM调优:基本垃圾回收算法
- Oracle DSI(Data Server Internals) 下载说明
- 计算机四级考试操作系统单元题,计算机四级考试操作系统单选练习
- android 4.0以上WebView不能全屏播放视频的解决办法
- c++常见并且必须记住的问题
- [活动通知]Nanjing GDG 2013年4月活动
- Ascll字符串转换到二进制字符串
- flask创建虚拟环境
- 步步为营100-开发前的思考
- 公司小规模纳税人税务零申报操作说明
- 用Python弹奏周董的《菊花台》是什么效果
- Altium Designer 高级篇 (一) - 元器件库的建立和使用以及导入
- Linux 中最好的 CHM 文件阅读器
- linux 运行有道词典,Linux有道词典软件安装
- SAP PS 后台配置
- 北邮通信博士带你秒懂 4G/5G 区别(附带通信发展史)
- 那些好玩的生成器网站
- 日期计算器输入天数计算日期_如何在Windows计算器中执行日期计算
- 基于词表和N-gram算法的新词识别实验
- AI医学影像千亿长坡,“医疗AI第一股”鹰瞳科技为何能滚起雪球?
热门文章
- Linux(Centos7.8)中conda虚拟环境搭建LSTM神经网络基于django3.1.2的api接口
- 如何修改DOSBOX的窗口大小
- 直角三角形面积Java_怎么用Java计算三角形的周长和面积
- 鼠眼看Linux调度器
- Live800:在线客服系统如何为客服减负?
- Win11安卓子系统无法启动怎么办?安卓子系统启用虚拟机平台教程(确保在可选的Windows功能中启用虚拟机平台)
- 全部重点排污企业名录(整理成Excel更新至2021年)
- ubuntu测网速方法
- geom_segment 新技能get
- 续航超1000km,极氪成为宁德时代麒麟电池全球量产首发品牌 | 美通社头条