这是我的主要方法
import java.util.*;
public class Cities
{
static String [] extractCity (String [] cityStateZip)
{
int location;
ArrayList<String> cities= new ArrayList<String>(Arrays.asList(cityStateZip));
for (int i=0; i < cities.size(); i++)
{
cities.get(i);
}
for (int i=0; i<cityStateZip.length; i++)
{
if (cityStateZip[i] == null || cityStateZip[i].equals(" "))
break;
cities.add(cityStateZip[i].substring(0, cityStateZip[i].indexOf(",")));
}
return cities;
}
}
错误发生在'返回城市',表明它是不兼容的类型。我知道它期待一个int,但我不知道如何解决它。 (我已经看过类似的问题,但我似乎并没有完全掌握这个概念)
提前谢谢你。
答案 0 :(得分:8)
cities
不是String[]
,而是List<String>
。返回String[]
之类的
return cities.toArray(new String[0]);
或修改方法的返回类型,如
static List<String> extractCity (String [] cityStateZip)
答案 1 :(得分:6)
extractCity应该返回一个字符串数组,但是你尝试返回String的ArrayList。
这样做:
return cities.toArray(new String[cities.size()]);
答案 2 :(得分:5)
声明您的函数返回一个&#34;字符串数组&#34;而不是int。 &#34;城市&#34;是一个字符串的ArrayList。
ArrayList<String>
不是字符串数组。 (这是你的错误所在的地方)
一种可能的解决方案:更改方法以返回ArrayList
例如:
public static ArrayList<String> extractCity(String[] cityStateZip) {
//code
}
答案 3 :(得分:1)
static String [] extractCity (String [] cityStateZip){
ArrayList<String> cities= new ArrayList<String>(Arrays.asList(cityStateZip));
return cities.toArray(new String[cities.size()]);
}
将退货类型更改为String []