ArrayList を返そうとしていますが、最後にエラーが発生します: シンボルが見つかりません。リストにいくつかの Strings と Doubles を追加し、それを呼び出したものに戻しています。
エラー:
./Sample.java:55: error: cannot find symbol
return placeMatch;
^
symbol: variable placeMatch
location: class Sample
1 error
try catch について言及されていることを考慮して、宣言ステートメントを一番上に移動すると、次のようになります。
./Sample.java:54: エラー: 互換性のない型が placeMatch を返します。^ 必須: 見つかった文字列: ArrayList
実際のコード:
import java.util.ArrayList;
//...other imports
public class Sample
extends UnicastRemoteObject
implements SampleInterface {
public Sample() throws RemoteException {
}
public String invert(String city, String state) throws RemoteException {
try{
ArrayList<Object> placeMatch = new ArrayList<Object>();
// Read the existing address book.
PlaceList place =
PlaceList.parseFrom(new FileInputStream("places-proto.bin"));
// Iterates though all people in the AddressBook and prints info about them.
for (Place Placeplace: place.getPlaceList()) {
//System.out.println("STATE: " + Placeplace.getState());
if(Placeplace.getName().startsWith(city)){
placeMatch.add(Placeplace.getName());
placeMatch.add(Placeplace.getState());
placeMatch.add(Placeplace.getLat());
placeMatch.add(Placeplace.getLon());
break;
}
}
}catch(Exception e){
System.out.println("opening .bin failed:" + e.getMessage());
}
return placeMatch;
}
}