java中Integer.toString(arg)方法中的NullPointerException可能性
是否有可能java中Integer.toString(arg)方法中的NullPointerException可能性,java,nullpointerexception,tostring,Java,Nullpointerexception,Tostring,是否有可能Integer.toString(args)给出NullPointerException类似String.valueOf(args) 我知道这是个愚蠢的问题,但我想澄清的是,Integer.toString()是否有可能给出NullPointerException Integer#toString不接受任何参数,只在字段value中传递value永远不能为null,因为您不能传递nullint原语,而nullString只会抛出一个NumberFormatException 编辑: 我
Integer.toString(args)
给出NullPointerException
类似String.valueOf(args)
我知道这是个愚蠢的问题,但我想澄清的是,Integer.toString()
是否有可能给出NullPointerException
Integer#toString不接受任何参数,只在字段value
中传递value
永远不能为null,因为您不能传递nullint
原语,而nullString
只会抛出一个NumberFormatException
编辑:
我没有考虑ToStand方法,使用了<代码> INT/CUT>,但结果将是相同的-<代码> int <代码>永远不会是空的,所以将没有NPE < /P> < P>你是指静态方法<代码> toSoint(int i)< />代码>代码< >整数< /代码>?该方法永远不会抛出
NullPointerException
——您可以传递的int
值都不会产生NullPointerException
整数。toString(args)
可能会给出一个NullPointerException
,而不像String.valueOf(args)
请参见我的实验:技术上是的,因为未装箱。虽然我不确定这是否是你的意思:
public class Test {
public static void main(String[] args) {
Integer i = null;
System.out.println(Integer.toString(i)); // NullPointerException
}
}
答案是肯定的和否定的。这取决于人们如何理解你的问题 表达式
var.toString()
(或Integer.toString(var)
)是否可能引发NullPointerException?
是。
方法Integer.toString()
(或Integer.toString(int)
)是否会抛出NullPointerException?
否。
在var.toString()
中,如果var
为null,将引发NullPointerException。但是当前方法将抛出异常,并且不会调用toString()
在Integer.toString(var)
中,如果var
为null,将引发NullPointerException。但是抛出它的不是toString(int)
方法。如果var是整数对象,则表达式是
Integer.toString(var.intValue())
因此,如果var
为null,则当前方法将抛出NullPointerException,并且既不会调用intValue()
也不会调用toString(int)
因此,要重申,
toString()
和toString(int)
本身永远不会抛出NullPointerException。是的,如果args
是null
@elliotfrisch不能,args
是int
@Tunaki类型,那么它可能是整数,自动取消绑定一个null
是一个NPE。您可能有权访问java编译器。考虑编写一个简短的测试来确定是否整数。toSnpe(NULL)抛出一个Null PoExtExistExchange。从技术上讲,这不是抛出异常的代码> toStult。@ SotiriosDelimanolis:OP询问“代码>整数。toStand(ARGs)< /代码>是否会导致NPE。这正是我展示的。@IgnacioChiazzo你怎么知道的?
Integer.toString(var.intValue())