将 System.List<string> 转换为 Java.Lang.String[]

Posted

技术标签:

【中文标题】将 System.List<string> 转换为 Java.Lang.String[]【英文标题】:Convert System.List<string> to Java.Lang.String[] 【发布时间】:2012-09-30 15:13:21 【问题描述】:

我正忙着用 Visual Studio 编写一个单声道的 android 应用程序。我正忙于在我的自定义适配器上实现 ISectionIndexer

我正在努力将 System.List&lt;string&gt; 转换为 Java.Lang.String[]。不知道有没有可能?!

一些示例代码:

    private List<string> _sections;

    public Java.Lang.Object[] GetSections()
    
        return this._sections.ToArray(); // Cannot implicitly convert type 'string[]' to 'Java.Lang.Object[]'

    

如果可能的话,有人可以协助转换吗? 非常感谢!

【问题讨论】:

不太确定android,但您的列表中有.ToArray() 方法吗? 也许你可以给我们一个你尝试过的样本,它看起来有点奇怪...... viralpatel.net/blogs/convert-arraylist-to-arrays-in-java @Habib:您好,这不起作用。它给出了一个错误:无法将类型“string[]”隐式转换为“Java.Lang.Object[]”。感谢您的回复。 @Waqas:感谢您的回复,但我不确定该转换将如何解决问题?! 【参考方案1】:

这个怎么样?

public Java.Lang.Object[] GetSections()
            
    return new Java.Util.ArrayList(this._sections).ToArray();

【讨论】:

【参考方案2】:

我用下面的方法解决了这个问题,不是很漂亮,但是很管用!

    public Java.Lang.Object[] GetSections()
                
        Java.Lang.String[] tmpObjCollection = new Java.Lang.String[this._sections.Count];
        for (int i = 0; i < this._sections.Count; i++)
        
            tmpObjCollection[i] = new Java.Lang.String(this._sections[i]);
        

        return tmpObjCollection;
    

【讨论】:

亲爱的 Richard,java.lang.String 是 IVKM.net 中的一个静态类。因此不能声明或实例化。

以上是关于将 System.List<string> 转换为 Java.Lang.String[]的主要内容,如果未能解决你的问题,请参考以下文章

Java递归方法遍历二叉树的代码

使用点分隔符将 List 转换为 String 到 Map<String, Object>

使用 JPA 存储 Map<String,String>

参数类型 'List<Series<dynamic, dynamic>>' 不能分配给参数类型 'List<Series<dynamic, String>&g

javascript将object转string字符串

如何将 XML 转换为 java.util.Map,反之亦然?