Tag: 整数

java short,integer,long performance

我读到JVM存储内部短,整数和长4字节。 我从2000年的一篇文章中读到它,所以我不知道它现在是多么真实。 对于较新的JVM,使用short over integer / long是否有任何性能提升? 自2000年以来,实施的这一部分是否发生了变化? 谢谢

为什么编译器/ JVM不能让autoboxing“正常工作”?

Autoboxing相当可怕。 虽然我完全理解了==和.equals之间的区别,但我不得不帮助让我跟上这个bug: final List foo = Arrays.asList(1, 1000); final List bar = Arrays.asList(1, 1000); System.out.println(foo.get(0) == bar.get(0)); System.out.println(foo.get(1) == bar.get(1)); 那打印 true false 他们为什么这样做? 它与缓存的整数有关,但如果是这样的话,为什么它们不只是缓存程序使用的所有整数? 或者为什么JVM总是自动取消对原始的框? 打印虚假或真假会更好。 编辑 我不同意旧代码的破坏。 通过让foo.get(0) == bar.get(0)返回true,你已经破坏了代码。 通过在字节代码中将int替换为int(只要从未赋值为null),就不能在编译器级别解决这个问题。

输入int和string的转换,java

最后一次考试我们进行了练习,以确定以下代码的输出: System.out.println(2 + 3 + “>=” + 1 + 1); 我的答案是5 >= 2但现在我意识到这是错误的答案。 它应该是5 >= 11 。 但为什么?

为什么Integer.getInteger不起作用?

我有以下代码: game.log.fine(“HERE” + bestMove.get(“score”)); Integer bestScore = Integer.getInteger(bestMove.get(“score”)); game.log.fine(“THERE” + bestScore); 作为输出我有: FINE: HERE50 Dec 9, 2010 11:34:17 AM game.Agent getCloud FINE: THEREnull Dec 9, 2010 11:34:17 AM game.Agent getCloud 可能我必须添加bestMove是HashMap 。 问题是bestMove.get(“score”)给出一个字符串值(等于“50”)。 但是如果尝试转换为整数,我会得到null 。 有人知道这里有什么问题吗?

Java:浮点数/整数的字节数

我有一个从x-plane通过UDP发送的字节数组。 字节(4)都是浮点数或整数…我试图将它们转换为浮点数但到目前为止没有运气… 示例数组:字节数据[41] = { – 66,30,73,0}; 如何将4个字节转换为int或float并且不浮动使用8个字节?

在Java中提取int的数字

所以,如果我有一个输入的整数: int num_1 = 128 我如何能够解析数字并获得1,2和8,并将它们分配给不同的变量? 谢谢!

为什么Integer.parseInt(“1”)++不能在Java中工作?

我有以下代码行: suffix = suffix.isEmpty() ? “1” : Integer.toString(Integer.parseInt(suffix)+1); 在一个块中,后缀已被声明为空字符串( “” )。 该块正在查找重复的文件名并在任何重复项上添加一个数字,因此它们不再具有相同的名称。 上面的代码行编译得很好,但是如果我改成它, suffix = suffix.isEmpty() ? “1” : Integer.toString(Integer.parseInt(suffix)++); 我得到Invalid argument to operation ++/– 。 由于Integer.parseInt()返回和int,为什么我不能使用++运算符?

Java – 如何将由空格分隔的整数读入数组

我的项目有问题,因为我无法得到正确的开头,即读取由用户空格分隔的整数行并将值放入数组中。 System.out.println(“Enter the elements separated by spaces: “); String input = sc.next(); StringTokenizer strToken = new StringTokenizer(input); int count = strToken.countTokens(); //Reads in the numbers to the array System.out.println(“Count: ” + count); int[] arr = new int[count]; for(int x = 0;x < count;x++){ arr[x] = Integer.parseInt((String)strToken.nextElement()); } 这就是我所拥有的,它似乎只是读取数组中的第一个元素,因为当count初始化时,由于某种原因它被设置为1。 谁能帮我? 以不同的方式做这件事会更好吗?

对于小的编译时间常数,“整数太大”

我有这个: switch (account){ case 08120: // Savings deposit interest rate return null; case 13100: // Receivables contractual interest return null; case 16550: // Default management process accounts payable return null; } 但编译器抱怨整数08120太大了! 到底是怎么回事?

更新后,setAutoCreateRowSorter不会正确排序表列

在开发一个小任务管理器时,我注意到列没有正确排序。 为了解决我的程序问题,我创建了一个最小版本,但它仍然无法正确排序唯一列。 import java.awt.BorderLayout; import java.util.List; import java.util.Random; import javax.swing.*; import javax.swing.table.AbstractTableModel; public class TableSortTest extends JFrame { private final JTable table; private final ATableModel model; public TableSortTest () { setDefaultCloseOperation (EXIT_ON_CLOSE); setSize (1366, 768); setLocationRelativeTo (null); model = new ATableModel (); table = new JTable (); table.setFillsViewportHeight (true); table.setAutoCreateRowSorter (true); table.setModel (model); add (new […]