Java字符串数组初始化和赋值
来源:互联网 发布:部落冲突矿工升级数据 编辑:程序博客网 时间:2024/06/04 18:55
原文地址:http://blog.csdn.net/bobobe/article/details/45157529
//一维数组
String[] str = new String[5]; //创建一个长度为5的String(字符串)型的一维数组
String[] str = new String[]{"","","","",""};
String[] str = {"","","","",""};
String数组初始化区别
首先应该明白java数组里面存的是对象的引用,所以必须初始化才能用; String[] str = {"1","2","3"}与String[] str = newString[]{"1","2","3"}在内存里有什么区别? 编译执行结果没有任何区别。更不可能像有些人想当然说的在栈上分配空间,Java的对象都是在堆上分配空间的。 这里的区别仅仅是代码书写上的: String[] str = {"1","2","3"}; 这种形式叫数组初始化式(ArrayInitializer),只能用在声明同时赋值的情况下。 而 String[] str = new String[]{"1","2","3"}是一般形式的赋值,=号的右边叫数组字面量(ArrayLiteral),数组字面量可以用在任何需要一个数组的地方(类型兼容的情况下)。如: String[] str = {"1","2","3"}; // 正确的 String[] str = new String[]{"1","2","3"} // 也是正确的而 String[] str; str = {"1","2","3"}; // 编译错误因为数组初始化式只能用于声明同时赋值的情况下。改为: String[] str; str = new String[] {"1","2","3"}; // 正确了又如: void f(String[] str) { } f({"1","2","3"}); // 编译错误正确的应该是: f(new String[] {"1","2","3"});还可以 String s=new String[30];如果没有显式赋值,则系统自动赋默认值null。
PS:
笔者所犯错误为在初始化数组的时候定义为String[] str = newString[]{},如此定义相当于创建了创建一个长度为0的String(字符串)型的一维数组。在后期为其赋值的时候str[0]="A",就会抛出异常。
0 0
- java字符串数组初始化和赋值
- java字符串数组初始化和赋值
- Java字符串数组初始化和赋值
- java数组(定义、赋值和初始化)
- 字符数组(C风格字符串)的初始化和赋值
- 字符数组的初始化和赋值
- 字符串与指针的初始化和赋值
- 字符串的赋值和字符串数组
- 字符串初始化指针和初始化数组区别
- 数组初始化赋值
- Verilog数组初始化赋值
- 字符串数字赋值初始化
- 字符串赋值与初始化
- 字符数组与整型数组的初始化和赋值对比
- 字符数组与整型数组的初始化和赋值对比
- 字符数组与整型数组的初始化和赋值对比
- C++字符数组(定义和初始化、赋值和引用)
- js 数组赋值和java数组赋值
- iOS多线程初级
- redis 集群搭建及相关命令
- 07-S3C2440驱动学习(一)嵌入式linux字符设备驱动-LED字符设备驱动
- MVC属性过滤器
- fl2440移植RTC驱动及hwclock命令使用
- Java字符串数组初始化和赋值
- Java集合之List遍历找到匹配元素删除方法总结
- [BZOJ2303][Apio2011]方格染色(数学相关+加权并查集)
- 提高篇项目2-二分法解方程
- bzoj 2303: [Apio2011]方格染色 (并查集)
- Opencv error unspecified error incorrect element name operator <<
- G
- 极光推送步骤!!!
- 2017-04-28(读入问题)