String[] arr = null;
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
//上面这段程序在运行的时候会抛异常,因为arr==null ,现在我的想法是 重写一下这个for循环,
//让它在循环之前先判断arr数组是否为null
/**
* 我不希望大家给我说
* if(arr!=null){
* for(int i = 0; i < arr.length; i++){
* .......
* }
* }
*
*顺便问下: jdk里面的类或方法我可以去修改吗?
*谢谢大家了
*/
if(arr == null)
{
return;
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
这样。楼主看看可以不,
*顺便问下: jdk里面的类或方法我可以去修改吗?
*谢谢大家了如果是类是final的,你不可以修改,比如String,等等,你不可以修改,其他的可以
只能重写jdk中非final类中的protected / public 方法
2,使用 javac -Xbootclasspath/p:string.jar Test.java 进行编译;
3,使用 java -Xbootclasspath/p:string.jar Test 运行。PS:如果 string.jar 不在当前路径下时,需要使用完整的路径,如带有空格需要使用双引号引起来。
JDK里的方法 你可以继承 然后重写 这是没有问题的另外 你就是想判断是不是null 那就if判断好了 干嘛不那么做?
System.out.println(arr[i]);
}
String[] arr = null;
for (int i = 0; arr!= null && i < arr.length; i++) {
System.out.println(arr[i]);
}
int i = 0;
while(arr!=null && i<arr.length) {
System.out.println(arr[i]);
i++;
}
即使JDK源代码里有语法错误,都只能Sun自己改,否则各个java编译器都要支持它,不能想象一个java编译器连JDK的源代码都不能编译。
for (int i = 0; arr!= null && i < arr.length; i++) {
System.out.println(arr[i]);
}最好不要去修改,除非你能驾驭JDK
if(s==null){
return ;
}
for(int i=0;i<s.length();i++)
System.out.println(s.charAt(i)); 这个方法 以及 你的方法 都可以,下面的方法 你不妨试一下:
String s=null;
try{
for(int i=0;i<s.length();i++)
System.out.println(s.charAt(i));
}catch(Exception ex){
ex.getMessage();
}以上方法,只是进行 异常处理