0

结构 我想创建自己的类,它有 3 个字段。第一个字段 - 整数,第二个字段采用对象(字符串、列表),第三个字段采用整数。我不明白两件事。

  1. 如何组织变量的存储。我需要写一个方法让Array或者List保存这些值​​​​ 如何保存对象值?
  2. 对于第二个字段。如果输入是字符串或列表,那么需要什么类型?如果我想将其作为原始类型,那又如何呢?如何保存对象?

    public class Record {
       private int[] number;
       private int[] count;
       private Object[] code;
    
       public void add(int newNumber, List<String> newCode, int newCount){
    
         return;
       };
    
       public void add(List<String> newCode, int newCount,){
    
           return;
       };
    

这行不通。

   Object nobj = new Object();
nobj = "ss";
4

2 回答 2

6

好的。在我看来,你误解了你上课的目的。您已经编写了一个类来模拟单个Record,但您已经编写Record了存储许多值。

让我们重新安排一下你的班级结构

public class Record {
private int number;
private int count;
private Object code;

public Record(int number, int count, Object code)
{
     this.number = number;
     this.count = count;
     this.code = code;
}

然后可以创建一个类,来管理类之间的接口Record,比如:

public class Storage
{
     List<Record> records;
     public Storage()
     {
         this.records = new ArrayList<Record();
     }

     public void addRecord(int number, int count, Object code)
     {
          records.add(new Record(number, count, code));
     }
}

这样,您就不会弄乱许多不同的数组,这些数组很难跟踪,所有东西都整齐地包裹在您的对象中。

您对第二个属性的问题

现在,您似乎想在此变量中存储任何内容。这比你原来的问题要复杂一些,但我认为泛型会为你回答你的问题。我不会给你写代码,但我能做的就是给你演示一下。

public class GenericExample<T>
{
     T object;

     public GenericExample(T object)
     {
         this.object = object;
     }
}

好的,所以我在这里所做的很简单。我创建了一个新类 ,GenericExample并且我说过这个类有一个特殊的类型,T。这种类型是在运行时定义的,这意味着您可以定义许多不同的值。例如。

GenericExample<String> example = new GenericExample<String>("This is a string");
GenericExample<Object> example2 = new GenericExample<Object>(new Object());

了解如何定义类型并在运行时将其传入?现在考虑将它应用到你的类结构中。

于 2013-08-08T12:34:20.410 回答
1

如果您真的不需要创建自己的List,请避免这样做。只需创建您自己的数据类型并将其用作以下参数List

public class Record {
    private int number;
    private int count;
    private Object code;

    // Constructors, setters and getters
};

List<Record> myList = new ArrayList<>();
于 2013-08-08T12:35:50.507 回答