C#数组列表的Java等价物

本文关键字:Java 等价物 列表 数组 | 更新日期: 2023-09-27 18:27:34

我正在将C#代码转换为Java代码。

在那个C#代码中使用了ArrayList。

我应该在C#的Java代码中直接使用ArrayList吗?

当我直接使用时,我会收到以下警告:

ArrayList是一个原始类型。对泛型类型ArrayList的引用应该参数化。

我应该做什么改变?

我的C#数组列表:

private System.Collections.ArrayList _lines = new System.Collections.ArrayList();
        public System.Collections.ArrayList Lines
        {
            get { return lines; }
        }

谢谢。

C#数组列表的Java等价物

Java中的

ArrayList需要参数化。必须定义数据类型。请参阅下面的行以声明ArrayList

List<String> arrayList = new ArrayList<String>();
arrayList.add("item1");
...

ArrayListJava中也可用。

请参阅此处的Javadocs以及此处的另一个教程

示例

import java.util.*;
public class ArrayListDemo {
   public static void main(String args[]) {
      // create an array list
      ArrayList al = new ArrayList();
      System.out.println("Initial size of al: " + al.size());
      // add elements to the array list
      al.add("C");
      al.add("A");
      al.add("E");
      al.add("B");
      al.add("D");
      al.add("F");
      al.add(1, "A2");
      System.out.println("Size of al after additions: " + al.size());
      // display the array list
      System.out.println("Contents of al: " + al);
      // Remove elements from the array list
      al.remove("F");
      al.remove(2);
      System.out.println("Size of al after deletions: " + al.size());
      System.out.println("Contents of al: " + al);
   }
}

如果你想进行或多或少的1比1转换,那么你可以使用ArrayList<Object>:

ArrayList<Object> arrayList = new ArrayList<Object>();

它将允许您在不进行重大重写的情况下转换代码。

但我建议使用适当Collections的通用版本,无论是Java代码还是C#代码。确定存储在列表中的行的类型,并将其用作泛型集合的类型参数:

ArrayList<Line> arrayList = new ArrayList<Line>();