草庐IT

MAX_SAFE_INTEGER

全部标签

java - 如何将 Float(包装类)转换为 Integer 包装类?

如何在java中将float转换为整数?Floatvalue=30.0F如何将上述值转换​​为整数?请帮帮我好吗? 最佳答案 使用Float.intValue():Integeri=value.intValue();请注意,这会导致自动装箱,但由于您打算创建一个Integer,因此这不会对性能产生任何影响。另请注意,您应该注意舍入:intValue()和int向零舍入。要四舍五入到最接近的整数,使用Math.round(),向下舍入使用Math.floor(),向上舍入使用Math.ceil()。如果您需要一些其他类型的舍入,您需要

java - 仅本地图值不存在时才创建并放置一个 map 值,并获取它 : thread-safe implementation

使此代码段线程安全的最佳方法是什么?privatestaticfinalMapMAP=newHashMap();publicstaticBputIfNeededAndGet(Akey){Bvalue=MAP.get(key);if(value==null){value=buildB(...);MAP.put(key,value);}returnvalue;}privatestaticBbuildB(...){//business,canbequitelong}以下是我能想到的几个解决方案:我可以使用ConcurrentHashMap,但如果我很好理解,它只是使原子put和get操作线程

java - PMD 消息 "Avoid using java.lang.ThreadGroup; it is not thread safe"

问题:为什么mavenPMD插件对下面的代码行发出以下警告:警告:Avoidusingjava.lang.ThreadGroup;itisnotthreadsafe代码(第二行):Calendarcal=Calendar.getInstance();java.sql.DateendDate=newjava.sql.Date(cal.getTime().getTime());上下文:我有一个java.sql.Date实例:publicclassXYZServletextendsHttpServlet{@OverrideprotectedvoiddoGet(HttpServletReque

java - Max Heapify 算法结果

我一直在研究算法入门教科书中的一些算法,特别是我正在尝试让二叉堆100%正确地工作。我有一种奇怪的感觉,我正在使用的示例不正确,我想知道是否有人可以帮助我指明正确的方向。给定数组int[]arr={1,2,3,4,7,8,9,10,14,16};我从MaxHeapify得到的结果是[16,14,9,10,7,8,3,1,4,2]但是,在进行了一些Google搜索之后,我发现使用这个精确数组作为示例的人期望的结果是:[16,14,10,8,7,9,3,2,4,1]令我困惑的是,我的MaxHeapify方法给出的结果满足堆属性,但它与预期的不同。下面是我在Java中的实现publicsta

java - 将字符串添加到列表 <Integer>

以下代码的结果:publicclassListIntegerDemo1{publicstaticvoidaddToList(Listlist){list.add("0067");list.add("bb");}publicstaticvoidmain(String[]args){Listlist=newArrayList();addToList(list);System.out.println(list.get(0));}}是“0067”。当我将一个字符串添加到一个整数列表时,我会预料到一个RuntimeException或类似的异常。为什么没有问题? 最佳

java - 将 Java 的 Integer 转换为 Scala 的 Int

我有一段返回java.lang.Integer的Java代码,它可以是null:someClass.getMyInteger但是当我在Scala类中使用它时,出现了这个错误:Causedby:java.lang.NullPointerExceptionatscala.Predef$.Integer2int(Predef.scala:357)即Scala隐式尝试将Java的Integer转换为Scala的Int(使用隐式Integer2int方法),但由于在这种情况下Integer为null它失败并出现异常。如何解决这个问题? 最佳答案

java - Java 整数类型原始类型是否在转换类型的 MAX_INT 处转换为 "capped"?

我试图追踪一些非常奇怪的Java行为。我有一个涉及double的公式,但“保证”给出整数答案——具体来说,是一个无符号的32位整数(唉,Java做得不好)。不幸的是,我的回答有时不正确。最终我发现了这个问题,但对我来说这种行为仍然很奇怪:一个double直接转换为一个int似乎对于有符号整数,上限为MAX_INT,而double转换为long,then转换为int给出了预期的答案(-1;无符号32位整数的MAXINT表示为带符号的32位整数)。我写了一个小测试程序:publicstaticvoidmain(String[]args){//ThisistheMaxIntfora32-bi

java - 哪个更好 - Integer.parseInt() 并捕获异常或在转换前使用模式验证字符串?

这个问题在这里已经有了答案:Whichisbetter/moreefficient:checkforbadvaluesorcatchExceptionsinJava(11个答案)关闭9年前。我见过两种在Java中检查变量是否为有效整数的样式。一种方法是执行Integer.parseInt并捕获任何由此产生的异常。另一种是使用模式。以下哪种方法更好?StringcountStr;intcount;try{count=Integer.parseInt(countStr);}catch(Exceptione){//returnasthevariableisnotaproperinteger.

java - Java 中的列表类的 toArray - 为什么我不能将 "Integer"列表转换为 "Integer"数组?

我定义了Liststack=newArrayList();当我尝试通过以下方式将其转换为数组时:Integer[]array=stack.toArray();我得到这个异常:Exceptioninthread"main"java.lang.Error:Unresolvedcompilationproblem:Typemismatch:cannotconvertfromObject[]toInteger[].为什么?它是完全相同的类型——整数到整数。这不像在类是father-and-sonrelation的这种一般情况下我试过转换:Integer[]array=(Integer[])st

java - 与 Integer.MAX_VALUE 比较并使用 System.out.println 时,for 循环提前终止

当我运行这个类时,for循环似乎提前终止classTest{publicstaticvoidmain(String[]args){intresult=0;intend=Integer.MAX_VALUE;inti;for(i=1;i输出是:135...3117331175End:31177为什么到此为止?有趣的是,如果我在for循环中删除System.out.println(i),输出将是End:-2147483647。显然i中的值有wrappedround。我使用的Java版本是Java(TM)SERuntimeEnvironment(build1.6.0_16-b01)JavaHo