java数组静态初始化简写方式是用大括号{ }直接初始化,仅限声明同时初始化,如int[] arr = {1, 2, 3};方法参数中需new显式创建,varargs可进一步简化;二维数组支持嵌套大括号;增强for循环中不可直接用{ },须先声明或使用new。

Java 中数组静态初始化的简写方式,核心是利用 大括号初始化语法(也叫“内联初始化”或“匿名数组创建”),省去显式 new 类型[] 的冗余写法,让代码更紧凑、可读性更高。
基本简写形式:直接用 { } 初始化
声明并初始化一维数组时,可省略 new 和类型声明部分(前提是声明时已指定类型):
-
标准写法:
int[] arr = new int[]{1, 2, 3}; -
简写写法:
int[] arr = {1, 2, 3};
⚠️ 注意:这种简写只在 声明同时初始化 时合法;单独使用 {1, 2, 3} 会编译错误(缺少上下文类型信息)。
方法参数中传数组字面量
调用接受数组的方法时,可用简写创建临时数组,避免额外变量:
Java Linux版下载入口,提供 Oracle JDK 26.0.2 官方 Linux 安装包、Java 环境配置、JDBC 数据库连接和 Java 服务端开发相关信息。
-
Arrays.asList(1, 2, 3);→ 适用于泛型方法,但注意基本类型需包装 -
someMethod(new String[]{"a", "b"});→ 标准写法 -
someMethod(new String[]{"a", "b"});可简写为someMethod(new String[]{"a", "b"});—— 这里无法进一步省略new String[],因为方法参数无类型推导上下文 - 但若方法重载支持 varargs(如
void print(String... strs)),可直接传print("a", "b");,本质是编译器自动封装为数组
二维数组的简写初始化
同样适用嵌套大括号,结构清晰:
-
int[][] matrix = {{1, 2}, {3, 4}};→ 等价于new int[][]{{1,2}, {3,4}} - 每行长度可不同(不规则数组):
String[][] data = {{"x"}, {"y", "z"}, {}};
配合局部变量与增强 for 循环更简洁
结合使用能减少样板代码:
-
for (int x : {1, 2, 3}) { System.out.println(x); }→ ❌ 编译失败(不能在 for-each 中直接用 { }) - ✅ 正确写法:
for (int x : new int[]{1, 2, 3}) { ... }或更自然地先声明:int[] a = {1,2,3}; for(int x : a) {...}
虽然 for-each 本身不支持纯字面量,但配合简写声明后整体代码依然简洁明了。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










