草庐IT

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 - 计算矩阵行列式

我正在尝试计算矩阵(任意大小)的行列式,用于self编码/面试练习。我的第一次尝试是使用递归,这使我实现了以下实现:importjava.util.Scanner.*;publicclassDeterminant{doubleA[][];doublem[][];intN;intstart;intlast;publicDeterminant(doubleA[][],intN,intstart,intlast){this.A=A;this.N=N;this.start=start;this.last=last;}publicdouble[][]generateSubArray(double

Java Swing 动画看起来不稳定。如何让它看起来专业?

更新:半复杂动画+Swing计时器=trainwreck。问题的最终根源是java计时器,swing或实用程序版本。它们不可靠,尤其是在跨操作系统比较性能时。通过实现普通线程,程序在所有系统上运行都非常流畅。http://zetcode.com/tutorials/javagamestutorial/animation/.此外,将Toolkit.getDefaultToolkit().sync()添加到paintComponent()方法中会有显着帮助。我在awt.Applet中编写了一些动画流畅的代码(但闪烁),然后我将其重构为javaswing。现在它不闪烁,但看起来波涛汹涌。我弄

java - 如何为 c3p0 设置 getConnection() 超时?

昨天AWS的RDS宕机了——我们的数据库也宕机了。发生这种情况时,C3P0将尝试获取数据库连接并挂起。我显然希望我的应用程序在这些情况下返回错误页面,而不是永远等待响应。代码如下:ComboPooledDataSourcedb=newComboPooledDataSource();...Connectionconn=db.getConnection();如何设置从c3p0的连接池获取连接的超时时间?我认为checkoutTimeout()会是它——但它不是。它是“调用getConnection()的客户端在池耗尽时等待checkin或获取连接的毫秒数。”由于池没有用完(只是不可用),这

java - Java中数组的抽象维度

在Java中,不同维度的数组有不同的类型。所以以int[]为参数的方法不能带int[][]或int[][][]。我有很多代码,在这些代码中我创建了非常相似但针对数组维度的方法。有没有一种方法可以处理任意维度的数组,从而抽象出这种通用功能? 最佳答案 如果您愿意放弃类型安全,您可以通过一点递归(这并不奇怪,对吧?)和反射(reflection)来实现。我们的想法是以一种向下递归的方式编写您的方法,直到数组只有一个维度。一旦处于单一维度级别,就开始工作;否则,递归调用自己,并在必要时汇总先前级别的发现。这是一个快速演示:importja

java - 交错并行文件读取比顺序读取慢?

我已经实现了一个小的IO类,它可以从不同磁盘上的多个相同文件读取(例如,包含相同文件的两个硬盘)。在顺序情况下,两个磁盘平均读取文件的速度为60MB/s,但是当我进行交错操作时(例如4k磁盘1、4k磁盘2然后组合),有效读取速度降低到40MB/s而不是增加?上下文:Win7+JDK7b70、2GB内存、2.2GB测试文件。基本上,我尝试以穷人的方式模仿Win7的ReadyBoost和RAIDx。在核心中,当向类发出read()时,它会创建两个带有指令的可运行程序,以从特定位置和长度读取预先打开的RandomAccessFile。使用执行程序服务和Future.get()调用,当两者都完