草庐IT

INT_VOLUME_MAX

全部标签

类的实例变量的Java默认值未初始化为int的零

这是我在Java教程中处理的示例。我有一个没有构造函数的Time1类,因此我希望它用默认值初始化为int,即零。publicclassTime1{privateinthour;//expectedtobeinitialisedwithzeroprivateintminute;//expectedtobeinitialisedwithzeroprivateintsecond;//expectedtobeinitialisedwithzeropublicvoidsetTime(inthour,intminute,intsecond){if(hour=24||minute=60||secon

java - 将 java.lang.Long 转换为原始 int 的最有效方法

我有一个奇怪的场景,我需要将数百万个java.lang.Long转换为原始int类型。我每天都需要这样做几次,每一天。通常,我不会担心这种简单的转换,但由于这种情况发生得如此频繁,我不得不问:执行此操作最有效的方法是什么,为什么?我的第一次尝试:LongmyLong=getLong();intx=Integer.valueOf(myLong.toString())尽管这看起来像是绕着谷仓走了3条路。提前致谢。 最佳答案 Long类有一个.intValue()方法,我想这就是您要找的...(警告,你可能会失去精度等等——但你可能已经知

java - 如何查看 int 数组中的元素是否为空?

例子:我想看看array[5]是否包含一个值或为空。 最佳答案 原始数组中的元素不能为空。它们总是会被初始化为某些东西(对于int数组通常是0,但这取决于您声明数组的方式)。如果您像这样声明数组(例如):int[]myArray;myArray=newint[7];那么所有元素都将默认为0。另一种声明数组的语法是int[]myArray={12,7,32,15,113,0,7};其中数组(在本例中大小为7)的初始值在花括号{}中给出。 关于java-如何查看int数组中的元素是否为空?,

java - int 是 Java 中的对象吗?

更准确地说,int是Integer类的一部分(精简版本之类的)还是完全是其他东西?我知道int是值类型,Integer是引用类型,但int是否继承自Object?(我假设在这方面int、long、boolean等都是相似的。选择int只是为了方便) 最佳答案 Java中的基本类型不是对象,也不继承自Object。自从Java1.5引入允许在int和Integer(以及其他类型)之间自动装箱。因为int不是不能用作通用类型参数的对象,例如T在list 关于java-int是Java中的对象

java - 无法在原始类型 int 上调用 toString()

基本上,我想要做的是获取商品ID,并从ini设置价格,基本上类似于:itemid:price但是,我不能简单地执行item.getId().toString()。我正在尝试获取项目我该怎么做才能使它成为一个字符串?publicstaticvoidgetBuyPrice(Itemitem){try{StringitemId=item.getId().toString();BufferedReaderbr=newBufferedReader(newFileReader(newFile("./data/prices.ini")));Stringline;while((line=br.read

java - 为什么 Java 能够将 0xff000000 存储为 int?

Java中整数的最大值是2147483647,因为Java整数是有符号的,对吗?0xff000000的数值为4278190080。但我看到的Java代码是这样的:intALPHA_MASK=0xff000000;谁能赐教吗? 最佳答案 只是埃里克森回答的补充:正如他所说,在大多数计算机体系结构中,有符号整数存储为它们各自正值的二进制补码。也就是说,整个2^32个可能的值被分成两组:一组是从0位开始的正值,一组是从1开始的负值。现在,假设我们仅限于3位数字。让我们以一种很快就会有意义的有趣方式来排列它们:000111001110010

java - 如何在 Java 中通过其 (unicode) 名称获取字符?我需要 Character.getName(int codePoint) 的反转

如何使用Unicode名称在Java中查找字符或int代码点?例如,如果Character.getName('\u00e4')返回"LATINSMALLLETTERAWITHDIAERESIS",如何执行反向操作(即从"LATINSMALLLETTERAWITHDIAERESIS"到'\u00e4')使用“纯”Java?编辑:为了阻止我想要或不想要的评论的洪流,这是我在Python中会做的事情:"\N{LATINSMALLLETTERAWITHDIAERESIS}"#thisgivesmewhatIwantasaliteralunicodedata.lookup("LATINSMALL

java - Random.nextInt(int) [稍微] 有偏差

即,它永远不会使用某些特定的upperBound参数连续生成超过16个偶数:Randomrandom=newRandom();intc=0;intmax=17;intupperBound=18;while(c在此示例中,代码将永远循环,而当upperBound为16时,它会快速终止。这种行为的原因可能是什么?该方法的javadoc中有一些注释,但我未能理解它们。UPD1:代码似乎以奇数上限终止,但可能卡在偶数上限UPD2:我修改了代码以按照评论中的建议捕获c的统计信息:Randomrandom=newRandom();intc=0;longtrials=10){while(c0){in

java - 为什么在 java src 中 Integer 类的 toString 方法中使用负 int 进行 mod 操作

我在看java1.7.0_09版本的源码时,发现Integer类的toString方法的实现是用负int来计算模运算,有什么意义吗?代码如下:publicstaticStringtoString(inti,intradix){if(radixCharacter.MAX_RADIX)radix=10;/*Usethefasterversion*/if(radix==10){returntoString(i);}charbuf[]=newchar[33];booleannegative=(i 最佳答案 根据该算法,您需要一个小的()非负

java - int 基本类型的 volatile 声明

我在AtomicAccess上引用了Oracle的Java文档Readsandwritesareatomicforreferencevariablesandformostprimitivevariables(alltypesexceptlonganddouble).Readsandwritesareatomicforallvariablesdeclaredvolatile(includinglonganddoublevariables).我了解volatile的工作原理。但是提到需要为long和double变量显式声明volatile以在第二个语句中获得原子访问,这使得volatile