首页 > Java > java教程 > 为什么 Java 使用大括号来防止未初始化的数组赋值?

为什么 Java 使用大括号来防止未初始化的数组赋值?

Patricia Arquette
发布: 2024-12-10 10:16:11
原创
427 人浏览过

Why Does Java Prevent Uninitialized Array Assignment with Curly Braces?

未初始化的数组赋值语法

Java 允许在声明中对数组进行简洁的初始化:

AClass[] array = {object1, object2};
登录后复制

但是,尝试在编译器中使用花括号分配未初始化的数组会产生结果error:

AClass[] array;
...
array = {object1, object2}; // Error
登录后复制

限制原因

此限制的具体原因尚不清楚。这可能是由于语法复杂性或希望保持 Java 语法的一致性。

解决方法

虽然不那么简洁,但您可以使用 new 初始化未初始化的数组运算符,然后显式分配元素:

AClass[] array;
...
array = new AClass[2];
...
array[0] = object1;
array[1] = object2;
登录后复制

简化示例

在提供的代码片段中使用此解决方法可以简化数组初始化逻辑:

public void selectedPointsToMove(cpVect coord) {

    if (tab == null) {
        if (arePointsClose(coord, point1, 10))
            tab = new cpVect[]{point1};
        else if (arePointsClose(point2, coord, 10))
            tab = new cpVect[]{point2};
        else
            tab = new cpVect[]{point1, point2};
    }
}
登录后复制

以上是为什么 Java 使用大括号来防止未初始化的数组赋值?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板