专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 Java字符数组用法总结

Java字符数组用法总结

更新时间:2021-05-08 10:28:33 来源:动力节点 浏览793次

二维数组

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。

以上就是动力节点小编介绍的"Java字符数组用法总结",希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为您服务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>