草庐IT

Java隐式转换int到byte

我即将开始做一些需要读取字节和创建字符串的工作。读取的字节表示UTF-16字符串。因此,为了测试一下,我想将UTF-16编码的简单字节数组转换为字符串。数组中的前2个字节必须代表字节顺序,因此必须是0xff0xfe或0xfe0xff。所以我尝试按如下方式创建字节数组:byte[]bytes=newbyte[]{0xff,0xfe,0x52,0x00,0x6F,0x00};但我得到了一个错误,因为0xFF和0xFE太大而无法放入一个字节(因为字节是用Java签名的)。更准确地说,错误是无法将int转换为字节。我知道我可以通过强制转换从int显式转换为byte并获得所需的结果,但这不是我的

java - 从数据库中检查 int 变量是否为 null 或为空

这个问题在这里已经有了答案:CheckingforanullintvaluefromaJavaResultSet(13个答案)关闭4年前。我有一个变量是:nocustomers=rs.getInt("CUST_TRAN_COUNT");无论是否为null,我都想执行。我试过了if(nocustomers==null)显示错误。我该如何解决?我新修改的代码是:try{query="select*fromSS_summarywheretxn_date=to_date('"+asatdate+"','YYYY-MM-DD')";st=conn.createStatement();rs=st.

java.util.zip.ZipException : invalid CEN header (bad signature)

我在执行这段(相对简单的)代码时遇到了这个错误:ZipFilezf=newZipFile(fn);Enumerationeze=zf.entries();while(eze.hasMoreElements()){ZipEntryze=eze.nextElement();System.out.println(ze.getName());}zf.close();其实。有趣的是,我在java-sun-6u32和java-1.6.0-openjdk-amd64上得到它,但java-sun-7u4成功了。解压缩本身似乎处理得很好。我猜这意味着这些zip文件可能是由java7理解的一些较新版本的z

java - “Type mismatch: cannot convert int to byte”

我看到有人问关于错误“类型不匹配:无法将int转换为字节”的问题。但它们大多是由涉及的算术运算引起的。这是我的案例:(当我想在EclipseKepler中玩位时会发生这种情况)//java7binaryliteralsbytea=0b01111111;//8-bititcompilesbyteb=0b10000000;//8-biterror:Typemismatch:cannotconvertinttobyte.bytec=(byte)0b10000000;//8-bititworksfineifcasted.问题是,如果它是8位并且最高位是1,那么编译器会给出错误。我想知道为什么。

Java 三元运算符似乎始终将整数转换为 int

我的一个学生在使用有时会导致null的三元运算符时遇到空指针异常。我想我理解这个问题,但它似乎是由不一致的类型推断引起的。或者换句话说,我觉得这里的语义不一致,在不改变他的方法的情况下应该可以避免错误。这个问题与Anotherquestionaboutternaryoperators相似,但不同。.在那个问题中,必须将nullInteger强制为int,因为函数的返回值是int。但是,在我的学生代码中情况并非如此。这段代码运行良好:Integerx=(5>7)?3:null;x的值为空。没有NPE。在这种情况下,编译器可以计算出三元运算符的结果需要是Integer,因此它将3(一个in

java - 为什么我不能将 final long 分配给 int?

据我了解,变量评估是在运行时完成的。但是,在Java中,类型评估是在编译时完成的。此外,如我所见,将变量设置为常量(我使用的是局部变量,但它对上述概念没有任何改变),将在编译时使其值已知。我为您提供了两个示例来验证这个概念。第一个有效,第二个无效。有人可以向我解释为什么使变量常量允许我将一个short变量分配给一个int变量,而我不能将一个int变量分配给一个long变量吗?//Workingexamplefinalintx=10;shorty=x;//Non-workingexamplefinallonga=10L;intb=a; 最佳答案

java - 在 jar 旁边使用附加文件在 maven 中创建 zip

我唯一的Maven经验是包括其他库,所以我需要一个非常基本的解释,说明我如何使用Eclipse在Maven中实现一些事情。我想定期创建我的jar。然后我想再拿3个文件并将所有文件放在1个zip文件中。我的zip的内容应该是这样的:A.jarB.txtC.txtD.bat我知道我必须在我的pom.xml文件中插入某些目标。我已经在StackOverflow(即here)上看到关于类似主题的帖子。我还尝试了Maven文档,如here.我是否已经需要任何Maven插件或者仍然是Maven核心的东西?但我的技能还不足以为我的案例传输这些信息。 最佳答案

java - 为什么不能在没有花括号的循环中将 int 分配给 Integer?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:WhythisisnotcompilinginJava?在java中,花括号对于一行for循环是可选的,但我发现了一种不允许的情况。例如,这段代码:for(inti=0;i不会编译,但是如果你添加花括号,像这样:for(inti=0;i会的。为什么这段代码不能编译?

java - 你能用一个 long int 索引一个数组吗?

是否可以通过某种方式使用longint来索引数组?或者这是不允许的?我的意思是下面的代码。longx=20;char[]array=newchar[x];或longx=5;charres;res=array[x]; 最佳答案 如果您查看JavaDocumentation在10.4中:Arraysmustbeindexedbyintvalues;short,byte,orcharvaluesmayalsobeusedasindexvaluesbecausetheyaresubjectedtounarynumericpromotion(

java - 在 Java 中将 Integer(可能为 null)转换为 int 的更好方法?

Integer可以是null。我通过以下方式将Integer转换为int:Integerinteger=null;inti;try{i=integer.intValue();}catch(NullPointerExceptione){i=-1;}有没有更好的办法? 最佳答案 对于Java8,以下也适用:Optional.ofNullable(integer).orElse(-1) 关于java-在Java中将Integer(可能为null)转换为int的更好方法?,我们在StackOve