草庐IT

int_field

全部标签

java - int[] 和 Integer[] 数组 - 有什么区别?

考虑以下基础知识:任何对象都只存在于堆中,ArrayIS-AObject和IntegerIS-AObject我发现自己很难回答这样一个简单的问题:int[]和Integer[]insideofJVM之间有什么区别吗?或者它只在“编译时”有意义? 最佳答案 运行时存在差异。int[]是原始int值的数组。Integer[]是一个“对象”数组,包含对Integer对象的引用。最重要的实际区别:int[]不能保存null值。ButI'mstillconfused:doesint[]storejustaprimitivevalues?Ifs

java - 如何创建一个 "abstract field"?

我知道java中不存在抽象字段。我还读了thisquestion但提出的解决方案无法解决我的问题。也许没有解决方案,但值得一问:)问题我有一个抽象类,它根据其中一个字段的值在构造函数中执行操作。问题是这个字段的值会根据子类而改变。我该怎么做才能对子类重新定义的字段的值进行操作?如果我只是“覆盖”子类中的字段,则操作是在抽象类中的字段值上完成的。我愿意接受任何确保操作将在子类实例化期间完成的解决方案(即将操作放在构造函数中每个子类调用的方法中不是有效的解决方案,因为有人可能会扩展抽象类而忘记调用该方法)。此外,我不想将字段的值作为构造函数的参数。是否有任何解决方案可以做到这一点,还是我应

java - 如果对 int 变量的写入和读取是原子的,为什么需要 AtomicInteger?

我读过Oracledocs那:Readsandwritesareatomicforreferencevariablesandformostprimitivevariables(alltypesexceptlonganddouble).(我猜这个特性已经被添加到一些新的JDK版本中,因为我曾经认为所有原始变量的读/写都不是原子的)这是否意味着AtomicInteger已被弃用并且不应在新项目中使用? 最佳答案 虽然从普通int中单个存储或单个加载在Java中是原子的,但您不能以原子方式递增它.这样做需要您首先加载该值,然后根据它计算新

java - 更有效地检查 int 是否为素数

我最近参加了学校的小型Java编程竞赛。我和我的搭档刚刚完成了我们的第一个纯oop类(class),大部分问题都超出了我们的范围,所以我们选择了这个(我稍微解释了一下):“给定一个输入整数n返回下一个素数int和它的反面也是质数,例如,如果n=18,您的程序应该打印31",因为31和13都是质数。然后,您的.class文件将传递一个包含1-2,000,000,000之间所有可能数字的测试用例,并且它必须在10秒内返回正确答案才能被视为有效。我们找到了解决方案,但如果测试用例较大,则需要10秒以上的时间。我相当确定有一种方法可以将循环范围从n,..2,000,000,000向下移动,因为

java - 将 int 值拆分为单独的数字

我想将我的int值拆分成数字。例如,如果没有。是542,结果应该是5,4,2。我有两个选择。1)将int转换为String&然后使用getCharArray(),我可以有单独的字符&然后我将它们转换回int值。2)将int转换为String,但不将其转换为char数组,迭代它并获取所有数字。有没有其他方法可以解决这个问题。如果不是,哪个选项会很快? 最佳答案 Listdigits(inti){Listdigits=newArrayList();while(i>0){digits.add(i%10);i/=10;}returndigi

java - 为什么 "int i = (byte) + (char) - (int) + (long) - 1"是 1?

这个问题在这里已经有了答案:Weirdjavabehaviorwithcaststoprimitivetypes(3个答案)关闭8年前。我在网上偶然发现了这段代码publicclassTest{/***@paramargs*/publicstaticvoidmain(String[]args){inti=(byte)+(char)-(int)+(long)-1;System.out.println(i);}}它打印1。我能知道为什么吗?这是来源-->http://www.javacodegeeks.com/2011/10/weird-funny-java.html

java - int[] array 和 int array[] 的区别

最近一直在思考两种定义数组的方式的区别:int[]数组int数组[]有区别吗? 最佳答案 它们在语义上是相同的。添加intarray[]语法只是为了帮助C程序员习惯java。int[]array更可取,而且不会造成混淆。 关于java-int[]array和intarray[]的区别,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3846080/

java - 在 java 中使用 Jackson 自定义反序列化 JSON FIELD?

给定一个像这样的简单实体类publicclassUser{@JsonPropertypublicCalendarcreatedOn;@JsonPropertypublicStringname;}有没有办法让我连接到jackson流式API以自定义反序列化仅createdOn字段?如果没有,那以后会不会有这样的事情发生?publicclassUser{@JsonProperty@JsonConverter(MyCustomCalendarConverter.class)publicCalendarcreatedOn;@JsonPropertypublicStringname;}看来我可以

java - Arrays.copyOfRange(byte[], int, int) 奇怪行为背后的逻辑是什么?

任何人都可以向我解释Arrays.copyOfRange(byte[],int,int))的奇怪行为背后的逻辑吗??我可以用简单的例子来说明我的意思:byte[]bytes=newbyte[]{1,1,1};Arrays.copyOfRange(bytes,3,4);//Returnssingleelement(0)arrayArrays.copyOfRange(bytes,4,5);//ThrowsArrayIndexOutOfBoundsException在这两种情况下,我都将范围复制到数组边界之外(即start>=array.length),因此错误条件至少对我来说很奇怪(如果是

java.lang.IllegalArgumentException : Some fields are missing (optional or mandatory) 异常

我正在尝试使用ApacheCamelBindy创建一个固定文件阅读器,但出现异常。请帮助我找到解决方案。没有页眉和页脚,效果很好。更新:文件小到现在无法理解,并添加了public文件内容:101-08-200930A920A960A940A910A950A89000000002新异常:java.lang.IllegalArgumentException:Somefieldsaremissing(optionalormandatory),line:2atorg.apache.camel.dataformat.bindy.BindyFixedLengthFactory.bind(Bindy