java 。创建类似于List的新类

标签 java class

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

  1. 如何组织变量的存储。我需要编写一个方法来让数组或列表保存这些值​​?如何保存对象值?
  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";

最佳答案

好的。在我看来,你误解了类的目的。您编写了一个类来模拟单个 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类之间的接口(interface),例如:

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));
     }
}

这样,您就不会弄乱许多不同的数组,而尝试跟踪这些数组是很糟糕的,所有内容都整齐地包裹在您的对象内。

第二个属性的问题

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

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());

看看如何定义类型并在运行时传递它?现在考虑将其应用到您的类结构中。

关于 java 。创建类似于List的新类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18126040/

相关文章:

java - 如何使用更改监听器 JavaFX 在两个 ListView 之间移动项目

java - 使用 Java Swing 时实现 Runnable

java - 如何从Class的HashSet或HashMap修改变量类

C++ 管理对象

java - 我可以在 tomcat 或 jboss 等应用程序服务器中运行 vert.x 实例吗

java - 在java中读取使用iText创建的pdf文件

java - 服务器需要客户端证书时如何使用 wsimport?

java - 从另一个 Activity 访问对象

javascript - 找出是否所有图像都有类

java - Canvas 类和绘画方法 - Java