C# 将C中的java.util.List与IKVM一起使用
我正在尝试使用C客户机调用java应用程序。发送的对象的类型为java.util.List。我已将所需的IKVM程序集添加到我的C项目中。我只是不确定应该如何实例化List对象。因为它只是在接口上,所以我不能创建它的新实例C# 将C中的java.util.List与IKVM一起使用,c#,ikvm,C#,Ikvm,我正在尝试使用C客户机调用java应用程序。发送的对象的类型为java.util.List。我已将所需的IKVM程序集添加到我的C项目中。我只是不确定应该如何实例化List对象。因为它只是在接口上,所以我不能创建它的新实例 java.util.List myList = new java.util.List(); 有人能帮我使用这个吗?提前感谢。在java中有迭代器 示例用法: java.util.List matches = new java.util.ArrayList(
java.util.List myList = new java.util.List();
有人能帮我使用这个吗?提前感谢。在java中有迭代器
示例用法:
java.util.List matches = new java.util.ArrayList();
//stuff to add elements to list
Iterator it = matches.iterator();
while (it.hasNext())
{
RuleMatch m = (RuleMatch)it.next();
Console.WriteLine("Potential error:" + m.getMessage());
}
java中有迭代器
示例用法:
java.util.List matches = new java.util.ArrayList();
//stuff to add elements to list
Iterator it = matches.iterator();
while (it.hasNext())
{
RuleMatch m = (RuleMatch)it.next();
Console.WriteLine("Potential error:" + m.getMessage());
}
正如我们所知,java.util.List类型是一个接口,而不是类类型,因此我们无法实例化。您需要使用any类类型,它是java.util.List的一个实现
或者更好地使用类型参数:
java.util.List<Integer> myList = new java.util.ArrayList<>();
正如我们所知,java.util.List类型是一个接口,而不是类类型,因此我们无法实例化。您需要使用any类类型,它是java.util.List的一个实现
或者更好地使用类型参数:
java.util.List<Integer> myList = new java.util.ArrayList<>();
试试java.util.List myList=new java.util.ArrayList;成功了。非常感谢您的帮助。@AVD您能否将您的评论作为答案发布,以便被接受?请尝试java.util.List myList=new java.util.ArrayList;成功了。非常感谢您的帮助。@AVD能否请您将您的评论作为答案发布,以使其被接受?您不能实例化java.util.List,因为它是一个接口。您不能实例化java.util.List,因为它是一个接口。由于类型擦除,在撰写本文时IKVM不支持java泛型。使用泛型类ArrayList确实有效,但在撰写本文时,由于类型擦除,IKVM不支持Java泛型。不过,使用泛型类ArrayList确实有效。