Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么会出现这种打印异常?_Java_String - Fatal编程技术网

Java 为什么会出现这种打印异常?

Java 为什么会出现这种打印异常?,java,string,Java,String,我不确定这为什么会导致异常。有人能解释一下吗?非常确定,因为字符串类型为int,但希望确保 你说得对 不能将字符串强制转换为int 你应该使用转换它,你是正确的 不能将字符串强制转换为int 你应该用转换它。是的,你是对的,因为它的类型转换。如果您需要将字符串转换为int,请使用下面的代码 String bob2 = "3"; System.out.println((int)bob2); 是的,你是对的,这是因为打字。如果您需要将字符串转换为int,请使用下面的代码 String bob2

我不确定这为什么会导致异常。有人能解释一下吗?非常确定,因为字符串类型为int,但希望确保

你说得对

不能将字符串强制转换为int

你应该使用转换它,你是正确的

不能将字符串强制转换为int


你应该用

转换
它。是的,你是对的,因为它的类型转换。如果您需要将字符串转换为int,请使用下面的代码

String bob2 = "3"; 
System.out.println((int)bob2);

是的,你是对的,这是因为打字。如果您需要将字符串转换为int,请使用下面的代码

String bob2 = "3"; 
System.out.println((int)bob2);
用这个

Integer.parseInt("3");

用这个

Integer.parseInt("3");


在Java中,每当您试图将一个实体的类型更改为另一个实体时,这两种类型都应该有某种关系。就像您试图将
子类
对象强制转换为
超类
一样,它将顺利运行。但是如果你试着比较一个
人物对象
和一个
狮子对象
,这种比较就没有什么意义了,这也是施法的逻辑。我们不能将一个人的物体投射到狮子的物体上

在您的代码中,
bob
是字符串类型,您试图将其转换为
int
,而在Java中,字符串和整数没有任何关系。这就是Java抛出异常的原因,
Class Cast Exception

但是Integer类中的
parseInt(String arg)
方法提供了一个将数字字符串转换为整数的选项,因为根据Java标准,参数是限定整数

例如:-

Integer.parseInt("3");
您也可以尝试这些方法,在使用此方法之前,这些方法将告诉您注意事项

String numericString = "1234";
int numberConverted  = Integer.parseInt(numericString);
System.out.println(numberConverted);

在Java中,每当您试图将一个实体的类型更改为另一个实体时,这两种类型都应该有某种关系。就像您试图将
子类
对象强制转换为
超类
一样,它将顺利运行。但是如果你试着比较一个
人物对象
和一个
狮子对象
,这种比较就没有什么意义了,这也是施法的逻辑。我们不能将一个人的物体投射到狮子的物体上

在您的代码中,
bob
是字符串类型,您试图将其转换为
int
,而在Java中,字符串和整数没有任何关系。这就是Java抛出异常的原因,
Class Cast Exception

但是Integer类中的
parseInt(String arg)
方法提供了一个将数字字符串转换为整数的选项,因为根据Java标准,参数是限定整数

例如:-

Integer.parseInt("3");
您也可以尝试这些方法,在使用此方法之前,这些方法将告诉您注意事项

String numericString = "1234";
int numberConverted  = Integer.parseInt(numericString);
System.out.println(numberConverted);

不能将字符串强制转换为整数。更改:

int numberConverted  = Integer.parseInt("1234r");
int numberConverted  = Integer.parseInt("1234.56");
int numberConverted  = Integer.parseInt("11111111111111111111111111111");
致:

它将从随
bob2
变量提供的
字符串
中创建一个
整数
值。如果要存储原语
int
,而不是
Integer
,也可以像这样创建对
int
变量的引用:

System.out.println(Integer.parseInt(bob2));

不能将字符串强制转换为整数。更改:

int numberConverted  = Integer.parseInt("1234r");
int numberConverted  = Integer.parseInt("1234.56");
int numberConverted  = Integer.parseInt("11111111111111111111111111111");
致:

它将从随
bob2
变量提供的
字符串
中创建一个
整数
值。如果要存储原语
int
,而不是
Integer
,也可以像这样创建对
int
变量的引用:

System.out.println(Integer.parseInt(bob2));

字符串
无法转换为
int
。这实际上是编译吗?在Java8中尝试了它,结果导致编译失败。这个问题的目的是什么?这是为了理解,还是仅仅是生产中的代码导致了您不确定的结果?无论哪种方式,我都不确定您是否希望按照下面的建议解析着色,而不是直接打印,除非我遗漏了什么。异常说明了为什么会有异常。您可能还希望查看原语与类/对象。字符串是一个对象,而int是一个基本类型。没有例外,只是一个编译错误,它准确地解释了问题所在。一个
String
不能转换为
int
。这实际上是编译吗?在Java8中尝试了它,结果导致编译失败。这个问题的目的是什么?这是为了理解,还是仅仅是生产中的代码导致了您不确定的结果?无论哪种方式,我都不确定您是否希望按照下面的建议解析着色,而不是直接打印,除非我遗漏了什么。异常说明了为什么会有异常。您可能还希望查看原语与类/对象。String是一个对象,而int是一个基本类型。没有例外,只是一个编译错误,它准确地解释了问题所在。