简体   繁体   English

从列表中提取字符串数组

[英]Extract String arrays from List

Developing a Java Android App but this is a straight up Java question i think. 开发Java Android应用程序,但是我认为这是一个直截了当的Java问题。

I have List declared as follows; 我已经声明List如下;

List list= new ArrayList<String[]>();

I want to extract each String [] in a loop; 我想在循环中提取每个String [];

for(int i=0; i < list.size(); i++) {
   //get each String[]
   String[] teamDetails = (String[])list.get(i);
}

This errors, I am guessing it just doesn't like me casting the String[] like this. 这个错误,我猜只是不喜欢我像这样强制转换String []。

Can anyone suggest a way to extract the String[] from my List? 谁能建议从我的列表中提取String []的方法?

Use a List<String[]> and you can use the more up-to-date looping construct: 使用List<String[]> ,您可以使用最新的循环结构:

    List<String[]> list = new ArrayList<String[]>();

    //I want to extract each String[] in a loop;
    for ( String[] teamDetails : list) {

    }

    // To extract a specific one.
    String[] third = list.get(2);

Try declaring the list this way 尝试以这种方式声明列表

List<String[]> list = new ArrayList<>();

for(int i = 0; i < list.size(); i++) {
    //get each String[]
    String[] teamDetails = list.get(i);
}

Moreover the call of your size function was wrong you need to add the brackets 此外,您的size函数调用错误,您需要添加方括号

    /*ArrayList to Array Conversion */
            String array[] = new String[arrlist.size()];              
            for(int j =0;j<arrlist.size();j++){
              array[j] = arrlist.get(j);
            }

//OR
/*ArrayList to Array Conversion */
        String frnames[]=friendsnames.toArray(new String[friendsnames.size()]);

In for loop change list.size to list.size() 在for循环中,将list.size更改为list.size()

And it works fine Check this https://ideone.com/jyVd0x 它工作正常检查此https://ideone.com/jyVd0x

First of all you need to change declaration from List list= new ArrayList<String[]>(); 首先,您需要从List list= new ArrayList<String[]>();更改声明List list= new ArrayList<String[]>(); to List<String[]> list = new ArrayList(); List<String[]> list = new ArrayList();

After that you can do something like 之后,您可以做类似的事情

String[] temp =  new String[list.size];

for(int i=0;i<list.size();i++)`
{
temp[i] = list.get(i);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM