package come;public class fff {
public static boolean isNumeric(String str){
if (str.equals("") || str==null) {
return false;
}
else {
for (int i = str.length() ; --i>=0 ; ){
if (!Character.isDigit(str.charAt ( i ) ) ){
return false;
}
}
return true;
}
}
}package come;public class heheh extends fff{
public static void main(String[] args) {
// TODO 自动生成方法存根
String haha=null;
System.out.println(isNumeric(haha));
}}判断数字 运行 heheh类 报错
Exception in thread "main" java.lang.NullPointerException
at come.fff.isNumeric(fff.java:8)
at come.heheh.main(heheh.java:16)
我已经在方法里判断null值了 为什么还报错啊?
解决方案 »
- java提取excel数据以word形式打印??(有哪位高手进来解答一下)
- Help Me
- 无法导入java.sql.BaseQuery与QueryObjectGenerator
- 我有一个JFrame,下面有很多JPanel,各个panel都有几个JTextField,JTextArea,我想让所有的JTextField和JTextArea都不可编辑,怎么办?
- Locale本地化问题
- 什么工具可以根据设计设计好的ER图,导出java的model类。
- 关于二级菜单的问题
- 怎么interrupt线程
- 请高手指点如何入门Java,需要看哪些书呢?100送
- java jacob如何传一个回调函数给COM?
- PageLM是什么意思啊
- 发一个基础的Thread类的问题
if (str == null ||str.equals(""))
所以,在进入isNumeric方法后,会进行一个判断,
先判断了str.equals("")这里str是你传进来的null,当然会报错啦。
这样改if (str==null || str.equals("")) {
return false;
}这时候如果判断出str==null为true,则str.equals("")不会被执行。
...
}
你的代码可以改成这样:if (str==null || str.equals(""))