我有一个arraylist包含字符串,如abc" \ n" 1234,cde" \ n" 567 fgh" \ n" 890。我想从它找到新行的地方获取字符串。喜欢这个数组我只想要1234,567和890.这就是我在做什么。但它说"不兼容的类型" 实际上,我已经显示了包含这些联系人的对话框。如果用户点击任何联系人,它会打开拨号程序活动。
for(String contact: manycontacts){
String contacts=contact.split("\\r?\\n");
}
答案 0 :(得分:2)
split
会返回String[]
而不是String
for(String contact: manycontacts){
String[] contacts=contact.split("\\r?\\n");
}
如果你需要它作为一个字符串,你必须迭代数组并连接字符串。或者使用apache中的commons-utils
加入它。
答案 1 :(得分:1)
split
方法返回字符串数组String[]
。在您的代码中,您只返回一个简单的String。那是不兼容的。
简单地将其改为:
for(String contact: manycontacts){
String[] contacts=contact.split("\\r?\\n");
}
答案 2 :(得分:1)
split函数返回一个字符串数组,但是您尝试将字符串数组分配给单个字符串,这会引发此错误。而是使用:
for(String contact: manycontacts){
String[] contacts=contact.split("\\r?\\n");
for(String split : contacts) {
//here you can go on and workt with a single splittet value
}
}
答案 3 :(得分:1)
contact.split()
返回一个String数组,而不是String,因此该类型不兼容。你需要
String[] contacts = contact.split("\\r?\\n");
答案 4 :(得分:0)
这是因为split返回String的数组,它将是String []。
答案 5 :(得分:0)
我只是用它来修剪字符串。
String numberonly = contacts.substring(contact.indexOf('\n'));