草庐IT

java - 为什么 CountDownLatch.getCount() 返回一个 long 而不是一个 int?

我查看了代码,一切都是int--传递给CountDownLatch构造函数的参数是int,Sync中的变量是int,Sync.getCount()的返回类型是int。但是CountDownLatch.getCount()返回一个长?想知道为什么。 最佳答案 除非设计该API的人回答,否则我不知道您是否会找到该问题的充分答案,但它确实说它用于“调试和测试”。publiclonggetCount(){...}//justfordebuggingandtesting 关于java-为什么Cou

java - 为什么 java.awt.Point 提供设置和获取 double 值的方法,但将 x 和 y 存储为 int 值?

正如您在java.awt.Point的Oracle文档中看到的那样,x和y存储为int。但是,getX和getY返回double。虽然有一个setLocation方法接受2个double类型,但没有构造函数这样做。此外,无论如何,double都会在内部被截断为int。这有充分的理由吗?您可以通过使用采用double类型的方法来避免对setLocation进行强制转换,但是当您调用getX和getY。通过从getX和getY返回double,也存在对Point类精度的错误表述。 最佳答案 因为它继承自Graphics2D抽象类中使用的

java - 使用 java.util.zip 构建有效的 epub

我构建了一个方法,它以递归方式将文件夹的内容添加到文件扩展名为“epub”的zip文档中,这基本上就是epub,除了一件事:存档中的第一个文档必须命名为“mimetype”,类型必须指定为application/epub+zip,并且必须以字节偏移量38开头。有没有办法将mimetype添加到具有偏移量的存档中38?我构建的方法几乎有效。它构建了一个可以被大多数电子阅读器阅读的epub,但它没有验证。EpubCheck给出了这个错误:mimetypecontainswrongtype(application/epub+zipexpected)这个问题在原始测试epub中不存在,但在重构

Java Puzzler - 将 double 转换为 int

intanInt=1;doubleaDouble=2.5;anInt=anInt+aDouble;//Error-needtocastdoubletointanInt+=aDouble;//Thisisok.Why?anInt=aDouble;//Thisisalsoanerror.anInt=1+aDouble;//Thisisalsoanerror.所以我的问题是:为什么执行anInt+=aDouble不是编译错误? 最佳答案 四种情况中的三种正确报告错误。复合赋值是该规则的唯一异常(exception)。Java语言规范第15

java - 将两个shorts打包成一个int,处理negative和positive

我正在创建一个PackedUnsigned1616类,它在一个int中存储两个无符号短裤,还有一个PackedSigned1616类,它在一个int中存储两个有符号短裤。我已经阅读了按位运算,但我仍然对如何处理有符号和无符号以及大于或小于short范围的值(它们作为两个整数传入)感到困惑。到目前为止,这是我得到的:publicfinalclassPackedUnsigned1616{publicfinalintfield;privatestaticfinalintRIGHT=(2>15;}publicintgetRight(){returnfield&RIGHT;}整个概念让我很困惑,

java - 在 Java 中,为什么 int a= ('a' +'b' +'c' ); 的输出与 System.out.println ('a' +'b' +'c' +""不同)

原题是这样的publicclasstest{publicstaticvoidmain(String[]args){inti='1'+'2'+'3'+"";System.out.println(i);}}这给了我一个错误:Exceptioninthread"main"java.lang.Error:Unresolvedcompilationproblem:Typemismatch:cannotconvertfromStringtoint然后我把代码改成这样:publicclasstest{publicstaticvoidmain(String[]args){inti='1'+'2'+'3

istream ::操作员>>(int&)似乎对空格的行为很奇怪

由于某种原因,操作员>>在我的程序中表现奇怪。这是代码:ifstreamfs;fs.open(filename,ifstream::in);if(!fs){cout>skeleton;while(getline(fs,input)){stringstreamss(input);cout>nodeId;cout>nodePosition;cout>prevId;cout(nodePosition,prevId);cout我的文件看起来像这样:0-0.064703554.10290.645867-114.2545648.24541.73375025.9445127.2658-0.003

java - 如何将 scala Int 转换为 java Integer?

我是scala的新手,并且同时使用scala和Java。我正在尝试将scalaInt传递给接受Integer(java.long.Integer)的方法。由于它们的类型不同,编译器会报错。/*name-Option[String],id-Option[Integer],mask-Option[String]*/newfindingFrame(name,id,mask)caseclassfindingFrame(name:String,id:Option[java.lang.Integer],mask:Option[String])我尝试使用.instanceOf[java.lang.I

java - 使用 Java 创建 .zip 存档的缓冲区大小是多少?

我使用此代码创建一个包含文件列表的.zip:ZipOutputStreamzos=newZipOutputStream(newFileOutputStream(zipFile));for(inti=0;i0;){zos.write(buffer,0,read);}fis.close();zos.closeEntry();}zos.close();我不知道zip算法和ZipOutputStream是如何工作的,如果它在我读取并发送到“zos”所有数据之前写了一些东西,结果文件的字节大小可能与我选择另一个不同缓冲区大小。换句话说,我不知道算法是不是这样的:读取数据-->处理数据-->创建.

java.util.zip.ZipException : too many entries in ZIP file

我正在尝试编写一个Java类来提取包含约74000个XML文件的大型zip文件。尝试使用javazip库解压缩它时出现以下异常:java.util.zip.ZipException:ZIP文件中条目太多不幸的是,由于项目的要求,我无法在zip到达我之前对其进行分解,并且解压缩过程必须自动化(无需手动步骤)。有什么方法可以利用java.util.zip或某些第3方Javazip库来解决此限制?谢谢。 最佳答案 使用ZipInputStream而不是ZipFile应该可以做到这一点。 关于j