2015-01-13 6 views
1

Это мой основной методНесовместимые типы

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, но я не уверен, как это исправить. (Я уже рассматривал подобные вопросы, но я, похоже, не понимаю концепции)

Спасибо заранее.

+6

Почему ты думаешь, что ожидает 'int'? Какой тип «города»? Какой тип возвращаемого типа вашего метода? –

+0

Можете ли вы добавить в stacktrace? – Ascalonian

+4

@ Аскалон. Нет следов стека. Это ошибка компиляции. –

ответ

6

extractCity должен возвращать массив строк, но вместо этого вы пытаетесь вернуть ArrayList из String.

Делают это так:

return cities.toArray(new String[cities.size()]); 
5

Ваша функция объявляется возвращать «массив строк», не является Int. «Города» - это ArrayList of Strings.

ArrayList<String> не является массивом строк. (Это где ваша ошибка приходит от)

Одно из возможных решений: Измените метод для возврата ArrayList

например:

public static ArrayList<String> extractCity(String[] cityStateZip) { 
    //code 
} 
8

cities не является String[] это List<String>. Возвращает String[] как

return cities.toArray(new String[0]); 

или изменить тип возвращаемого значения метода, как

static List<String> extractCity (String [] cityStateZip) 
1
static String [] extractCity (String [] cityStateZip){ 
    ArrayList<String> cities= new ArrayList<String>(Arrays.asList(cityStateZip)); 
    return cities.toArray(new String[cities.size()]); 
} 

Изменение типа возврата к String []

Смежные вопросы