gpt4 book ai didi

Java初始化一个纯结构体

转载 作者:行者123 更新时间:2023-12-01 07:10:26 35 4
gpt4 key购买 nike

这是我正在尝试做的事情:

public class myClass
{
int x;
int y;
}

我学过c++,所以我尝试这样做:

myClass [] a  = new myClass[5];
for(int i =0; i < 4; i++)
a[i].x = 0;

这不会做任何事情,因为所有 a[i] 都是 null。

我知道这违背了Java的基本原则,但是有一个叫做Alljoyn的产品,它迫使我这样做,参见:

https://www.alljoyn.org/docs-and-downloads/documentation/guide-alljoyn-development-using-java-sdk-rev-j#unique_28

AllJoyn 不允许在类中使用构造函数或其他方法。还有其他方法来初始化纯结构吗?

最佳答案

  1. Java 中没有 struct 这样的东西。您呈现的是一个类。
  2. 正如您所观察到的 a[i]null ,因为数组中的引用被初始化为 null 。您还没有创建任何对象。使用a[i] = new myClass()在你的循环中。这个类 myClass 的 0 参数构造函数将由 Java 生成。
  3. Java中类的名称写作LikeThis按照惯例。
  4. a[i].x = 0是没用的。 Read关于Java中的原始数据类型。 int编译器默认将字段初始化为 0。
  5. 通过做i < 4您没有初始化最后一个元素(第五个)。最好总是这样做i < a.length .

关于Java初始化一个纯结构体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15486824/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com