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; }
}
谢谢。
ArrayList需要参数化。必须定义数据类型。请参阅下面的行以声明ArrayList
List<String> arrayList = new ArrayList<String>();
arrayList.add("item1");
...
ArrayList
在Java中也可用。
请参阅此处的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>();