<%@page contentType="text/html; charset=GB2312"%>
<%@page import="java.text.*,java.util.*"%>
<%
try{
String[] Temp = null;
for(int i=0;i<10;i++){
Temp[Temp.length]=i+"";
}for(int j=0;j<Temp.length;j++){
out.print(Temp[j]);
}}catch(Exception ie){
out.print(ie);
}
%>为什么报:
java.lang.NullPointerException
怎么解决??
<%@page import="java.text.*,java.util.*"%>
<%
try{
String[] Temp = null;
for(int i=0;i<10;i++){
Temp[Temp.length]=i+"";
}for(int j=0;j<Temp.length;j++){
out.print(Temp[j]);
}}catch(Exception ie){
out.print(ie);
}
%>为什么报:
java.lang.NullPointerException
怎么解决??
for(int i=0;i <10;i++){
Temp[i]=i+"";
2、没有实例化 Temp.length 就无从谈起解决方案如1楼所示
Temp.length
Temp都是null
Temp.length怎么有呢
像这样写就不会有错了。 你上来就把null赋给Temp, 一定会出现java.lang.NullPointerException.
如果10这个位置是随机的数字呢(非负数)?
如何确保不会出错????
是正确的; String[] Temp = null; 这样定义是为空的, 没有指向任何内存地址
这在别的贴中已经说过了
还有一种方法呢,就麻烦点,自己new一个数组出来,给它初始化一个长度,后续的过程中,如果在添加元素时,发现已经满了,放不下了,就动态增加它的长度。从代码的优雅性来说,还是用List要好些啦,写的代码也少嘛。
int num; //等于什么你自己定
String[] Temp = new String[num];
for(int i=0;i <num;i++){
Temp[i]=i+"";