2010-12-22 62 views
0

我有一系列正在返回J#数据类型的API调用。我已经能够转换大部分数据类型(Integer,Boolean,Double,Float等)。J#集合到VB .NET集合

我现在需要做的是一个java.util.Collection中转换成VB .NET集合(ArrayList的?)

这里是我的尝试:

Public Function MakeDotNETCollection(ByVal javaCol As java.util.Collection) As Collection 

    Dim dotNetCol As Collection 

    If Not javaCol Is Nothing Then 
     dotNetCol = New Collection 

     Dim it As IEnumerator = javaCol.iterator() 

     For Each it In CType(javaCol, Collection) 
     dotNetCol.Add(it.Current) 
     Next it 

    End If 

    Return dotNetCol 
    End Function 

我不断收到运行时错误“无法投型‘AbstractListlistIterator’的对象键入“System.Collections.IEnumerator任何想法

+0

任何你不能用`it.hasNext`使用`While`循环的理由? – Oded 2010-12-22 20:19:30

回答

1

没有测试,但应该工作:?

Public Function MakeDotNETCollection(ByVal javaCol As java.util.Collection) As Collection 

    Dim dotNetCol As Collection 

    If Not javaCol Is Nothing Then 
    dotNetCol = New Collection 

    Dim it As java.util.Iterator = javaCol.iterator() 

    While it.HasNext() 
     dotNetCol.Add(it.next()) 
    End While 

    End If 

    Return dotNetCol 

End Function