Java - 将对象数组存储为另一个对象的值并调用该值的字段

标签 java

我想将项目 i1 和 i2 作为数组存储在用户参数项目中。我想这部分还可以。

class item {
    int quty;
    String name;
    double nc;

    public item(String name, int quty, double nc) {
        this.quty = quty;
        this.name = name;
        this.nc = nc;
    }

   static item i1 = new item("I1", 10, 6.04);
   static item i2 = new item("I2", 14, 8.01);
}

class user {
    String name;
    double nc;
    item[] items; // store item objects as value of user

    public user(String name, double nc, item[] items) {
        this.name = name;
        this.nc = nc;
            this.items=items;
    }

   static user u1 = new user("Tenny", 10.18, new item[]{item.i1, item.i2}  ); // user stores two items
}

然后我想调用项目的名称。 您可以通过 System.out.println(item.i1.name) 轻松调用项目名称,但我想调用用户 u1 拥有的项目名称。

        System.out.println("User has " + Arrays.toString((user.u1.items.name)));

上面没有这样做。如何做到这一点?

最佳答案

您调用的方式不正确,因为 Items 是需要索引的数组类型。

user.u1.items[0].name

您可以使用下面的代码来打印用户所有项目的名称。

 for(item i:user.u1.items) { 
     System.out.println(i.name);  
  }

关于Java - 将对象数组存储为另一个对象的值并调用该值的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61436611/

相关文章:

java - 无法从静态内容引用非静态变量 jTextArea

java - 更改飞行路线的基线记录

java - 使用所有 Karate 依赖项创建测试 jar

java - Java 中没有同步的线程安全单例?

java - wsimport from https : [ERROR] java. security.cert.CertificateException:不存在主题备用名称

java - 使用 Java 通过 HTTP 发送文件内容

java - 将电子邮件作为参数传递给 SQL 查询、PostreSQL、JAVA

java - Spring 尝试 @Autowire 我的依赖项两次

java - 需要在java方法内的字符串中添加默认值

java - 如何随机化输出