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 字符串到int表示nullpointerexception_Java_String_Int - Fatal编程技术网

Java 字符串到int表示nullpointerexception

Java 字符串到int表示nullpointerexception,java,string,int,Java,String,Int,当我运行这段代码时,字符串到int的转换正在输出NULL?当我打印出字符串时,它会给我一个字符串编号,但当我试图将该字符串转换为int时,它会显示null,这是为什么 for(int j = 0; j < removetrack.size(); j++){ String removetrackArray[] = removetrack.get(j).split(" "); String candidateBefore = ""; int removetracklocati

当我运行这段代码时,字符串到int的转换正在输出NULL?当我打印出字符串时,它会给我一个字符串编号,但当我试图将该字符串转换为int时,它会显示null,这是为什么

for(int j = 0; j < removetrack.size(); j++){
   String removetrackArray[] = removetrack.get(j).split(" ");
   String candidateBefore = "";
   int removetracklocation = Arrays.asList(removetrackArray).indexOf(past)-1;

   if(removetracklocation != 1) {
      String candidateBefore = "";
      System.out.println(removetrack.get(j)+" location =  "+ removetracklocation +" "+ 
         (past)+" candidate name "+dictionary.get(votedfor) );
      candidateBefore= Arrays.asList(removetrackArray).get(removetracklocation+1);
      System.out.println(" this is a string "+candidateBefore);
      System.out.println( Integer.getInteger(candidateBefore));                         
   }    
}
for(int j=0;j
Integer.getInteger不会将字符串强制转换为int,int返回系统属性的值(请参阅)。您应该改为使用。

Integer.getInteger不会将字符串强制转换为int,int返回系统属性的值(请参阅)。您应该改为使用。

为了救援:

确定函数的整数值 具有指定属性的系统属性 名字

使用
Integer.parseInt
将字符串转换为int,使用
Integer.valueOf
将字符串转换为整数。

请执行以下操作:

确定函数的整数值 具有指定属性的系统属性 名字

使用
Integer.parseInt
将字符串转换为int,使用
Integer.valueOf
将字符串转换为整数。

来自以下文档:

确定具有指定名称的系统属性的整数值。 第一个参数被视为系统属性的名称。可以通过System.getProperty(java.lang.String)方法访问系统属性。然后将此属性的字符串值解释为整数值,并返回表示此值的整数对象。可以通过getProperty的定义找到可能的数字格式的详细信息

如果没有具有指定名称的属性,如果指定名称为空或null,或者属性的数字格式不正确,则返回null

换句话说,它不解析整数。要解析整数,请使用
integer.parseInt
(获取
int
)或
integer.valueOf
(获取
整数

然而,即使你的描述也有点奇怪——你在标题中声称它给了你一个
NullPointerException
,但你接着说它正在打印
null
。是哪一个?他们非常不同。我看不出您给我们的代码如何在
Integer.getInteger
处抛出
NullPointerException

或者,如果这是用户输入的值,您可能希望使用
java.text.NumberFormat

从文档中获取:

确定具有指定名称的系统属性的整数值。 第一个参数被视为系统属性的名称。可以通过System.getProperty(java.lang.String)方法访问系统属性。然后将此属性的字符串值解释为整数值,并返回表示此值的整数对象。可以通过getProperty的定义找到可能的数字格式的详细信息

如果没有具有指定名称的属性,如果指定名称为空或null,或者属性的数字格式不正确,则返回null

换句话说,它不解析整数。要解析整数,请使用
integer.parseInt
(获取
int
)或
integer.valueOf
(获取
整数

然而,即使你的描述也有点奇怪——你在标题中声称它给了你一个
NullPointerException
,但你接着说它正在打印
null
。是哪一个?他们非常不同。我看不出您给我们的代码如何在
Integer.getInteger
处抛出
NullPointerException

或者,如果这是用户输入的值,您可能希望使用
java.text.NumberFormat

Integer.getInteger()
用于系统属性:

Integer.getInteger("sun.arch.data.model"); 
Integer.getInteger()
用于系统属性:

Integer.getInteger("sun.arch.data.model"); 

呸+1比我打字快。:)呸+1比我打字快。:)您不应至少根据此链接使用此..-您不应至少根据此链接使用此-