草庐IT

int_void

全部标签

java - 比较 int 和 Java 中的字符常量

我有一个二进制文件,它使用4个字符的集合来形成具有“意义”的整数。例如4字节的'0005',整数形式为808464437。我宁愿在我的Java代码中将它们表示为'0005'而不是808464437。我也不想设置像finalintV0005=808464437这样的常量.在C++中,我可以执行以下操作:fileStream->read((byte*)&version,4);//Getthenextbytesandstuffthemintotheuint32versionswitch(version){case'0005'://dosomethingcase'0006'://dosomet

java - 在Java中为int动态添加0x前缀

inti=16777215;voiddraw(intcolor){}假设voiddraw期望颜色以0x前缀开头,就像这样draw(0x16777215)如果我尝试这样做,它会抛出一个语法错误draw(0x+i)Invalidhexliteralnumberinti不能包含0x部分,需要动态添加谢谢 最佳答案 0x1234只是另一种写入整数值的方式。例如,0xff和255是完全相同的东西。draw(0x16777215)和draw(376926741)是相同的调用。在字节码级别,没有任何差异。唯一的区别在于它在阅读代码的人看来如何;有

java - ArrayList<Integer> 是否经过 JDK 优化以像 int[] 那样执行?

我们被告知Java的ArrayList对于整数效率较低,因为列表实际上包含指针,而整数数组包含适当的整数,从而避免了内存分配和访问。我的问题是JDK/JIT编译器是否优化了这种低效率?它拥有所有的信息来得出结论,这些实现在功能上是等价的,所以它也可以在底层用一个支持int[]的实现替换ArrayList。 最佳答案 不,它不能,因为你可以存储null在ArrayList中。编辑:哦,它也不能,因为泛型在编译时被删除—在运行时,JRE无法通过元素类型区分ArrayList。IOW,它比null更糟糕—你可以在ArrayList中存储任

java - void 方法的单元测试和断言案例

我正在尝试为void方法创建一些单元测试。基本上,该方法旨在显示系统用户的角色并在软件中实现它。这是方法:publicvoidsetPersonObj(PersontypeObj){this.typeObj=typeObj;createMain();}我如何在使用单元测试检查此方法的单独类中创建断言案例?非常感谢 最佳答案 如果该方法是void,它显然有一些副作用。否则它将是空操作。因此您别无选择,需要验证这些副作用。如何测试这些副作用取决于您使用的技术和测试方法:如果该方法调用一些其他协作者/对象,模拟它们并随后验证模拟如果它改变

java - 将 SwingWorker 的通用类型设置为 void?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Whatisthedifferencebetweenjava.lang.Voidandvoid?我想为SwingWorker创建一个具体类,最终和中间结果类型都为void。我写了下面的代码:classAnswerWorkerextendsSwingWorker{protectedvoiddoInBackGround(){System.out.println("whatisyourproblem!!");}}这给了我以下错误:Multiplemarkersatthisline-Syntaxerrorontoken

java - Java 如何知道 void 方法何时完成其方法体?

假设我有一些代码:publicintdoSomething(intx){otherMethod(x);System.out.println("otherMethodiscomplete.");return0;}publicvoidotherMethod(inty){//methodbody}既然otherMethod的返回类型是void,doSomething方法如何知道otherMethod何时完成,所以它可以转到下一个like并打印“otherMethod完成了。”?编辑:将return0;添加到doSomething方法中,以便示例代码可以编译。 最佳

java - 使用 Stream 而不是 for 循环创建增量 int 数组

我想创建一个构建递增数字数组的函数。例如,我想获取如下内容:int[]array=newint[]{1,2,3,4,5,6,7,8,...,1000000};该函数会接收两个参数:起始编号(含)和数组的最终长度:publicint[]buildIncrementalArray(intstart,intlength){...}我知道如何使用for循环来做到这一点:publicint[]buildIncrementalArray(intstart,intlength){int[]result=newint[length];for(inti=0;i我不想使用for循环,而是想使用Java8S

解惑MySQL:对int(1)与int(10)的认知误区

困惑最近遇到个问题,有个表的要加个user_id字段,user_id字段可能很大,于是我提mysql工单altertablexxxADDuser_idint(1),领导看到我的sql工单说:这int(1)怕是不够用吧,接下来是一通解释。其实这不是我第一次遇到这样的问题了,其中不乏有工作5年以上的老司机。包括我经常也看到同事一直使用int(10),感觉用了int(1),字段的上限就被限制,真实情况肯定不是这样。数据说话我们知道在mysql中int占4个字节,那么对于无符号的int,最大值是2^32-1=4294967295,将近40亿,难道用了int(1),就不能达到这个最大值吗?CREATET

java - public<T> void run (T object ) { } 是什么意思?

这个问题在这里已经有了答案:ReturnTypeofJavaGenericMethods(5个答案)关闭5年前。我正在阅读泛型并尝试编写以下代码。没有编译错误。importjava.util.*;publicclassJavaApplication14{publicvoidrun(Tobj){//DoSomething}publicstaticvoidmain(String[]args){JavaApplication14m=newJavaApplication14();m.run(newArrayList());m.run(newInterger(5);m.run(5);}}如果函数

java - 创建新数组 : int[] a = new int "char"] 时使用 ['a'

这个问题在这里已经有了答案:charandintinJava(2个答案)关闭4年前。在创建数组时,我们可以传递short、char、byte、int。那么,[为什么]int[]a=newint['a']有效?它不会引发编译时错误。这种形式的数组声明是什么意思?