Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从ArrayList传递数据<;字符串>;列出<;上课?_Java_Android_Arrays - Fatal编程技术网

Java 如何从ArrayList传递数据<;字符串>;列出<;上课?

Java 如何从ArrayList传递数据<;字符串>;列出<;上课?,java,android,arrays,Java,Android,Arrays,我想将数据从ArrayList保存/解析到List,但我不知道如何实现 我有以下两个列表: public static ArrayList<String> list2= new ArrayList<>(); public static List<Contact> sortedList= new ArrayList<>(); publicstaticarraylistlist2=newarraylist(); public static List

我想将数据从ArrayList保存/解析到List,但我不知道如何实现

我有以下两个列表:

public static ArrayList<String> list2= new ArrayList<>();
public static List<Contact> sortedList= new ArrayList<>();
publicstaticarraylistlist2=newarraylist();
public static List sortedList=new ArrayList();
清单2包含如下数据:

ArrayList<String> list2 = ["9847523587", "6738654738"]
ArrayList列表2=[“9847523587”,“6738654738”]
我想要sortedList中的list2数据。 我怎么能得到这个

Contact.java

public class Contact implements Serializable, Comparable<Contact> {
/**
 *
 */

private String fullName, firstName, lastName, androidId, androidRawId, androidTagId, organization;
private transient Uri photoUri, thumbnailUri;
private List<NumberOrAddress> addresses;
private transient ArrayList<ContentProviderOperation> changesToCommit;
private transient ArrayList<ContentProviderOperation> changesToCommit2;

public void setInitial(String initial) {
    this.initial = initial;
}

public Contact() {
    addresses = new ArrayList<>();
    androidId = null;
    thumbnailUri = null;
    photoUri = null;
    changesToCommit = new ArrayList<>();

    changesToCommit2 = new ArrayList<>();
    hasSipAddress = false;
}
}
}
公共类联系人实现可序列化、可比较{
/**
*
*/
私有字符串fullName、firstName、lastName、android、androidRawId、androidTagId、organization;
私有瞬态Uri photoUri,thumbnailUri;
私人名单地址;
私有临时数组列表更改提交;
私有临时数组列表更改提交2;
public void setInitial(字符串首字母){
this.initial=initial;
}
公众联络(){
地址=新的ArrayList();
android=null;
thumbnailUri=null;
photoUri=null;
changesToCommit=newarraylist();
changesToCommit2=新的ArrayList();
hasSipAddress=false;
}
}
}

添加Contact.java只是为了展示它是如何构造的。

为了在两种不同的类型之间转换,您需要一些方法,它接受
字符串并返回
联系人

例如,如果
Contact
有一个接受字符串的构造函数,则可以执行以下操作:

list2.stream()
    .map(Contact::new)
    .forEach(sortedList::add);

您可以这样做(假设
contact.getContactString()
返回所需字符串):

然后:

  for(String str: list2){
    // assuming Contact can be constructed using a String
    sortedList.add(new Contact(str)); 
 }

@ModusTollens我的坏。改变了答案。@ModusTollens噢。那么问题中列表1在做什么?我也很困惑。不需要。是的,不需要。很抱歉添加它。@Developer更改了我的答案。希望有帮助。Getting:方法引用中的返回类型不正确:无法将org.Contact转换为R,也无法解析方法“add”
list1
的用途是什么?能否共享Contact类?此问题中list1没有用途,很抱歉没有通知。@开发人员请编辑您的问题并删除list1。已编辑,请提供解决方案。
  for(String str: list2){
    // assuming Contact can be constructed using a String
    sortedList.add(new Contact(str)); 
 }