首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在声明中未包含数组初始化语法

在声明中未包含数组初始化语法
EN

Stack Overflow用户
提问于 2018-03-22 06:20:49
回答 2查看 0关注 0票数 0

我可以写:

代码语言:javascript
复制
AClass[] array = {object1, object2}

我也可以写:

代码语言:javascript
复制
AClass[] array = new AClass[2];
...
array[0] = object1;
array[1] = object2;

但我不能写:

代码语言:javascript
复制
AClass[] array;
...
array = {object1, object2};

为什么这会被Java阻止?

例如:

代码语言:javascript
复制
public void selectedPointsToMove(cpVect coord) {

    if (tab == null) {
        if (arePointsClose(coord, point1, 10)) {
            cpVect[] tempTab = {point1};
            tab = tempTab;
        } else if (arePointsClose(point2, coord, 10)) {
            cpVect[] tempTab = {point2};
            tab = tempTab;
        } else {
            cpVect[] tempTab = {point1,point2};
            tab = tempTab;
        }
    }
}
EN

Stack Overflow用户

发布于 2018-03-22 15:27:57

第一个例子

代码语言:javascript
复制
AClass[] array = {object1, object2}

实际上意味着

代码语言:javascript
复制
AClass[] array = new AClass[]{object1, object2};

但是Java设计人员所做的是,如果声明时创建数组,就可以更快地编写它。

建议的解决办法是好的。如果时间或内存使用在运行时非常重要,请使用数组。如果它并不重要,并且希望代码更易于理解和使用,那么使用ArrayList。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档