当前位置: 首页 > 知识库问答 >
问题:

将对象初始化为数组测试类中的列表

柯瀚玥
2023-03-14

嘿,我是Java新手,在数组方面一直有困难。我正在尝试使用数组或数组列表来存储我的测试类中的值列表。但是我正在讨论如何将set1和set2添加到我的数组列表中。

我有一个测试班

Data set1 = new Data(new double[]{1, 2, 3, 4, 5});
    System.out.println("Set1: " + set1);

Data set2 = new Data(new double[]{-5, -4, -3, 1});
        System.out.println("Set2: " + set2);

然后我的数据类

    import java.util.ArrayList;

    public class Data {

    public Data(double[] sets) {
        ArrayList<Double> sets = new ArrayList<Double>();
    }

}

共有3个答案

吕森
2023-03-14

也许这对你有用:

public Data(double[] array) {
    sets = new ArrayList<Double>(Arrays.asList(array));
}

public String toString() {
    return sets.toString();
}
连德水
2023-03-14

首先将数据类创建为:

class Data
{
   ArrayList<Double> obj;

   Data(Double var[])
   {
      obj=new  ArrayList<Double>();

      for(int i=0;i<var.length;i++)
      {
           obj.add(var[i]);
      }
   }
}

现在,将该数据类的对象创建为:

Double val1[]={1.0,2.0,3.0,4.0};
Data set1=new Data(val1);

Double val2[]={1.0,25.0,36.0,44.0};
Data set2=new Data(val2);

现在,将数据类的这些对象添加到数组列表中,如下所示:

ArrayList<Data> sets=new ArrayList<Data>();
sets.add(set1);
sets.add(set2);
雍焱
2023-03-14

您的问题出现在<code>数据

import java.util.ArrayList;

public class Data {

    public Data(double[] sets) {
        ArrayList<Double> sets = new ArrayList<Double>();
    }

}

set变量在构造函数返回后消失,因此在那里声明它是没有用的。您应该将声明移动到类级别,并在构造函数中为其分配正确的值:

ArrayList<Double> sets;
public Data(double[] sets) {
    this.sets = new ArrayList<Double>();
    for (double d : sets) {
        this.sets.add(d);
    }
}

由于您要打印Data,因此需要覆盖toString方法:

@Override
public String toString() {
    return sets.toString();
}
 类似资料:
  • 问题内容: 我在用Java工作。 我通常会这样设置一些对象: 问题是:在此示例中是否等于,按原样我可以假定对未初始化的对象进行空检查将是准确的? 问题答案: 正确,未显式初始化的引用类型的静态成员和实例成员都由Java 设置为。相同的规则适用于数组成员。 根据Java语言规范的第4.12.5节: 变量的初始值 程序中的每个变量在使用值之前都必须具有一个值: 每个类变量,实例变量或数组组件在创建时均

  • 问题内容: 我只是看了这个SO Post: 但是,哥伦比亚大学教授的笔记按以下方式进行。请参阅第9页。 哪种方法正确?他们似乎在说不同的话。 特别是在注释版本中没有。 问题答案: 这根本不会在Java中编译(因为您正在将数组类型的值分配给非数组类型的变量): 被以下错误拒绝(另请参见:http : //ideone.com/0jh9YE): 要进行编译,请声明其类型,然后在其上循环:

  • 问题内容: 我想初始化一个BlackJack游戏的Player对象数组。我已经阅读了很多有关初始化原始对象(例如int数组或字符串数​​组)的各种方法的信息,但是我无法将此概念理解为我在此处尝试做的事情(见下文)。我想返回一个初始化的Player对象数组。要创建的播放器对象的数量是一个整数,我向用户提示。我以为构造函数可以接受一个整数值并在初始化Player对象的一些成员变量时相应地命名播放器。我

  • 我有以下JSON文件要反序列化

  • 问题内容: 如果没有明确指出它是String [],那么第一次调用someMethod怎么不编译? 使用数组初始化器创建String []数组很好,但是不能使用它传递参数。花括号是否以其他方式用于传递参数,从而使我期望其表现出轨? 编译器错误如下: Moo类型的someMethod(String [])方法不适用于参数(字符串,字符串,字符串) 问题答案: 您只能在声明数组变量或在数组创建表达式(