Tag: 类型转换

将char传递给带有int参数的方法

以下代码的输出是123因为substring从beginIndex到EndIndex – 1.然而,我很惊讶这里的char被理解为3(int),因为substring需要两个整数。 这背后的概念是什么? String x = “12345”; char a = 3; x = x.substring(0, a); System.out.println(x);

用于存储20位数字的数据类型

我有20位数字,哪种数据类型支持存储这个数字? 我已经尝试了很长时间,但是我已经超出了范围。 编号= 48565664968483514466 然后我必须将此数字转换为Base36以生成条形码。

可能有损转换从long到int,JAVA

我试图将long值传递给该方法并在那里使用它来创建一个长数组。 但是,我在创建数组时遇到“可能从long转换为int”的错误 long[] array = new long[n]; 虽然我没有使用任何整数值。 import java.util.Scanner; import java.util.ArrayList; public class test{ public static void main(String[] args){ Scanner input = new Scanner(System.in); long n = input.nextLong(); System.out. although(“result is ” + n + ” is ” + testing(n)); } private static long testing(long n){ long[] array = new long[n]; return 0; } […]

为什么不能指定我扩展为?

以下陈述: URLClassLoader ucl = (URLClassLoader) ClassLoader.getSystemClassLoader(); Class uclc = ucl.getClass(); 失败并出错: Type mismatch: cannot convert from Class to Class 我为什么需要演员? 我发现了几个post,解释了为什么你不能反过来(将T分配给a),但那是(有点)明显和理解。 注意:我在eclipse Luna下编码,所以我不知道它是否是Luna Quirk,或者是否有一些我在仿制药中真的不了解的东西。

Java允许将字节分配给java.lang.Short,但不允许分配给java.lang.Integer

final byte b = 12; Short s = b; Integer i = b; 程序编译为Short,但是对于Integer编译,“不兼容类型”消息失败。 我很难理解这种行为。 我找不到这个特定场景的任何东西..

在Java代码中从scala.collection.Seq 转换为java.util.List

我从Java调用Scala方法。 我需要进行从Seq到List的转换。 我无法修改Scala方法的签名,因此我无法使用scala.collection.JavaConversions._的asJavaCollection方法。 有关如何实现这一目标的任何想法? 使用Scala 2.9.3

将hex字符串转换为十进制整数

我写了一些代码将我的hex显示字符串转换为十进制整数。 但是,当输入类似于100a或625b(带字母的东西)时,我得到如下错误: java.lang.NumberFormatException:对于java.lang.Integer.parseInt(未知来源)的java.lang.NumberFormatException.forInputString(未知来源)的输入字符串:“100a” 你知道我怎么能用字母转换成十进制整数的字符串? if(display.getText() != null) { if(display.getText().contains(“a”) || display.getText().contains(“b”) || display.getText().contains(“c”) || display.getText().contains(“d”) || display.getText().contains(“e”) ||display.getText().contains(“f”)) { temp1 = Integer.parseInt(display.getText(), 16); temp1 = (double) temp1; } else { temp1 = Double.parseDouble(String.valueOf(display.getText())); } }

乘以长值?

class Main { public static void main (String[] args){ long value = 1024 * 1024 * 1024 * 80; System.out.println(Long.MAX_VALUE); System.out.println(value); } } 输出是: 9223372036854775807 0 如果long value = 1024 * 1024 * 1024 * 80L;这是正确的long value = 1024 * 1024 * 1024 * 80L; !

如何在结构不同时将JSON字符串转换为JAVA对象

我正在尝试从json字符串创建一个对象的实例。 这是我的目标: public class Person { String name; String address; } 这是我的转换器: Gson gson = new Gson(); Person p = gson.fromJson(str, Person.class); 问题是我的输入字符串格式可能比我的Person对象更复杂,例如: { “name”:”itay”, “address”:{ “street”:”my street”, “number”:”10″ } } 或者address的值可以是一个简单的字符串(在这种情况下,我没有问题)。 我希望p.address包含json对象作为字符串。 这只是我问题的一个例子,事实上,“地址”要复杂得多,结构也是未知的。 我的解决方案是将Person类更改为: public class BetterPerson { String name; Object address; } 现在, address是一个对象,我可以使用.toString()来获取值。 有更好的方法吗?

为什么NPE使用DatatypeConverter的静态方法?

我已经盯着这个短代码太长了,并且不能为我的生活看到它如何在第6行抛出NullPointerException 。为什么NPE? class ConvertTest { public static void main(String[] args) throws Exception { byte[] b = “Ha”.getBytes(“UTF-8”); System.out.println(“bytes: ” + b.length); javax.xml.bind.DatatypeConverter.printBase64Binary(b); // NPE! } } 产量 bytes: 2 Exception in thread “main” java.lang.NullPointerException at javax.xml.bind.DatatypeConverter.printBase64Binary(DatatypeConverter.java:547) at ConvertTest.main(ConvertTest.java:6) Press any key to continue . . . 更新 虽然许多错误报告都指向1.7变种,但我惊讶地看到Eclipse配置为使用1.6.0_32 TextPad发现版本为1.6.0-b105 (甚至没有意识到已经安装了!) 。 两个JRE都失败了NPE。