java invoke int long,将Long转换为Integer
Integer i = theLong != null ? theLong.intValue() : null;
或者如果你不需要担心null:
// auto-unboxing does not go from Long to int directly, so Integer i = (int) (long) theLong;
而且在这两种情况下,你可能会遇到溢出(因为Long可以存储比Integer更宽的范围)。
这里有三种方法来做到这一点:
Long l = 123L; Integer correctButComplicated = Integer.valueOf(l.intValue()); Integer withBoxing = l.intValue(); Integer terrible = (int) (long) l;
所有三个版本都生成几乎相同的字节码:
0 ldc2_w [17] 3 invokestatic java.lang.Long.valueOf(long) : java.lang.Long [19] 6 astore_1 [l] // first 7 aload_1 [l] 8 invokevirtual java.lang.Long.intValue() : int [25] 11 invokestatic java.lang.Integer.valueOf(int) : java.lang.Integer [29] 14 astore_2 [correctButComplicated] // second 15 aload_1 [l] 16 invokevirtual java.lang.Long.intValue() : int [25] 19 invokestatic java.lang.Integer.valueOf(int) : java.lang.Integer [29] 22 astore_3 [withBoxing] // third 23 aload_1 [l] // here's the difference: 24 invokevirtual java.lang.Long.longValue() : long [34] 27 l2i 28 invokestatic java.lang.Integer.valueOf(int) : java.lang.Integer [29] 31 astore 4 [terrible]
Integer intValue = myLong.intValue();
如果你在意检查溢出,并有番石榴方便,有Ints.checkedCast() :
int theInt = Ints.checkedCast(theLong);
这个实现很简单,并且在溢出时抛出IllegalArgumentException :
public static int checkedCast(long value) { int result = (int) value; checkArgument(result == value, "Out of range: %s", value); return result; }
你需要input它。
long i = 100L; int k = (int) i;
请记住,长整数的范围比整数大,所以你可能会丢失数据。
如果您正在讨论盒装types,请阅读文档 。
最简单的方法是:
public static int safeLongToInt( long longNumber ) { if ( longNumber < Integer.MIN_VALUE || longNumber > Integer.MAX_VALUE ) { throw new IllegalArgumentException( longNumber + " cannot be cast to int without changing its value." ); } return (int) longNumber; }
如果您正在使用Java 8,请按照以下步骤操作
import static java.lang.Math.toIntExact; public class DateFormatSampleCode { public static void main(String[] args) { long longValue = 1223321L; int longTointValue = toIntExact(longValue); System.out.println(longTointValue); } }
假设不为null longVal
Integer intVal = ((Number)longVal).intValue();
它的作品例如你得到一个对象,可以是一个整数或一个长。 我知道这很丑陋,但事实恰恰相反
长途客人= 1000;
int convVisitors =(int)visitor;
在Java中,有一个严格的方法来将长整型转换为整型
不仅可以将lnog转换为int,任何types的extends数字都可以转换为其他Numbertypes,这里我将向您展示如何将long转换为int,反之亦然。
Long l = 1234567L; int i = org.springframework.util.NumberUtils.convertNumberToTargetClass(l, Integer.class);
java invoke int long,将Long转换为Integer相关推荐
- java 将一串字符串 转换成_简单几步,教你如何轻松的将Java中的字符串转换为Integer,你学会了吗?...
在Java中有两种将字符串转换为Integer的方法, 使用Integer.parseInt( )到Integer的字符串 使用Integer.value eOf( )到Integer的字符串 假设您 ...
- 在Java中将Double转换为Integer
本文翻译自:Cast Double to Integer in Java Any way to cast java.lang.Double to java.lang.Integer ? 有什么方法可以 ...
- java将int转换成字符串,Java将int转换为字符串
我们可以使用String.valueOf()和Integer.toString()方法在Java中将int转换为String.另外,我们可以使用String.format()方法,字符串连接运算符等. ...
- double转integer java_在Java中将Double转换为Integer
我认为如果不覆盖其背后的_539617,就无法理解其他答案 . 您无法直接将 Integer 转换为 Double 对象 . 此外 Double 和 Integer 是不可变对象,因此您无法以任何方式 ...
- Java中int[]与Integer[]相互转化的方法
传统方法 //Convert int[] to Integer[] public static Integer[] toObject(int[] intArray) {Integer[] result ...
- Java中int和Integer的区别
int 是基本类型,直接存数值 integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型和复杂数据类型 int 是前者>>integer 是后者(也就是一个 ...
- Java中怎么将Long类型转换成Integer或int类型
Java中怎么将Long类型转换成Integer或int类型? 强转.Long a=10l; int b = (int)a; 不过如果long值超出int的取值范围后再转型的话会有问题的.就是转 ...
- JAVA中int 是什么意思,java中int和Integer什么区别
java中int和Integer的区别 一看就懂 int 是基本类型,直接存数值 integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型和复杂数据类型 int 是前 ...
- Java中Int、Integer、new Integer()之间的区别
Java中有八种基本数据类型,Int是其中之一.而Integer是Int的封装,即Integer其实是一个对象.可以通过new来创建一个Integer对象,也可以直接将Int值赋给Integer变量. ...
最新文章
- 环境变量方式使用 Secret - 每天5分钟玩转 Docker 容器技术(158)
- linux 挂载网络文件系统,linux 挂载网络文件系统
- SwiftUI之深入解析布局如何自定义AlignmentGuides
- 大话数据结构之算法 时间复杂度
- 文件操作-读取文件后文件指针会发生变化
- php中的point用法,php strnatcmp()函数的用法总结
- 基于JAVA的在线图书销售系统
- 运用ENVI bandmath对多波段进行计算
- Java面试基础篇-Redis缓存
- tar打包忽略某个目录
- 邮件服务器1---原理以及基本概念
- 写DM9000网卡芯片驱动的预备知识
- ssh-keygen命令使用
- 使用定时任务向百度推送网站URL
- 京东到家机器学习平台建设
- 步进电机驱动之相数、步距角、细分、拍数
- ssm+Vue计算机毕业设计学科竞赛赛场安排系统(程序+LW文档)
- 【Router】PC连接到路由LAN,但是无法获取到IP地址问题分析及解决方案
- 华为分布式文件存储服务器配置,分布式存储服务器
- 520七夕情人节告白网页代码—浪漫3D相册
热门文章
- mysql自动获取时间列_mysql自动获取时间日期的方法
- python png 背景透明_python – Pygame:在png图像中将所有白色像素转换为完全透明...
- vscode用作markdown入门2--代码上下标目录字体
- Python calendar日历模块的常用方法
- numpy.cov() 计算协方差矩阵
- 在ASP.NET 3.5中使用新的ListView控件(2)
- 【opencv学习】【hough圆检测】
- 数学物理方法pdf_中考状元笔记九科(语文+数学+物理+化学+英语+历史+地理+政治+生物)(高清PDF);...
- 人工智能语言python实验报告_【报名】人工智能语言Python启蒙课程(五六年级)...
- 行为识别(HAR)调研