我想知道String[]的含义,我在网上搜过了,找不到满意的答案。先说说我的看法,不对之处请大家指出:在main中:
String str[] = null;
str[0]="123456";
System.out.println(str[0]);
会报错:Exception in thread "main" java.lang.NullPointerException
at RandomResult.main(RandomResult.java:24)
如果代码改为:
String str[] = new String[5];
str[0]="123456";
System.out.println(str[0]);
就正确了。
应该是第一次的代码中没有给str数组分配内存空间,所以就报错了。String str[] = null;
str="1,2,3,4,5,6".split(",");
for(int i=0;i<str.length;i++){
System.out.println(str[i]);
}
这个是正确的,API中:public String[] split(String regex)
split方法的返回类型就是数组。
不知道我的理解正确不?
String str[] = null;
str[0]="123456";
System.out.println(str[0]);
会报错:Exception in thread "main" java.lang.NullPointerException
at RandomResult.main(RandomResult.java:24)
如果代码改为:
String str[] = new String[5];
str[0]="123456";
System.out.println(str[0]);
就正确了。
应该是第一次的代码中没有给str数组分配内存空间,所以就报错了。String str[] = null;
str="1,2,3,4,5,6".split(",");
for(int i=0;i<str.length;i++){
System.out.println(str[i]);
}
这个是正确的,API中:public String[] split(String regex)
split方法的返回类型就是数组。
不知道我的理解正确不?
解决方案 »
- java 数据删除后遍历的错误
- 新手问题,JSP中比如文本框的Null值,selvert中能取到吗,能进行判断吗
- 怎样设定用jbuilder写的程序的图标啊?
- java帮助
- 如何向Graphics上画一个点??
- 我导入一个已经写好的maven项目,这个项目是可以运行的,我导入后启动就报监听器错误
- JAVABAEN或MVC中,多数据库问题怎么样解决呀?
- 急!在线请教各位大侠,我想写一个窗口,如果在30秒内不按这个窗口上的一个按钮,那么自动跳到另一个窗口
- 请问JDK帮助文档怎么很少有例子,比MSDN差的太多?
- 高手们快来拿分!!!!(有个很是不解的问题要大大的请教!!)
- Scanner读取控制台输入的问题
- jcreator编译时提示:javac: 无效的标志
str 是"1,2,3,4,5,6".split(",") 返回的字符串数组的引用 ;
数组我不常用,这个是我为了理解,在main函数中写的测试
我写java程序快一年了,数组这一块不经常用,我只是想弄明白,不希望糊里糊涂的,有许多东西都是,只是会用,就是不知道它的原理,感觉很难受
是的,我就是查的API,数组名即使这个数组空间的首地址
谢谢你了,不过还是不太明白举个例子:
int a[]={1,2,3},b[];
b=a;
这是一个引用赋值,那个和这个例子是不是很像啊
我说的是实话,我上学期学的是java SE 写的程序不多,下学期学的java web,一直在写程序,主要是用的Struts2 + hibernate,就不怎么接触数组,hibernate查询出来的都在list中,直接拿来作为对象就用了
通常所用的数组变量其实是一个指向数组的引用,所以它可以被赋值给其它引用,但数组数据是没变的
数组可以为null,没被初始化或赋值就无法使用。
另外,我建议你把如
String str[] = new String[5];
这样的写法改成等价的
String[] str = new String[5];
既提高可读性,也有助于你的理解。