我在这里调用PlaneXML的WSDL服务 - API参考 https://flightwise.com/documentation/39/PlaneXML_API_Reference.html#AirportInfo
我的代码:
public static void airportName() throws RemoteException{
String lax = "LAX";
PlaneXMLv1SoapProxy foo = new PlaneXMLv1SoapProxy();
Airport [] info = foo.airportInfo(lax);
System.out.println("output 1: " + info);
System.out.println("output 2: " + info.toString());
System.out.println("output 3: " + info[0]);
}
我的输出:
output 1: [Lcom.flightwise.planexml.ws.Airport;@604ed9f0
output 2: [Lcom.flightwise.planexml.ws.Airport;@604ed9f0
test
test
output 3: com.flightwise.planexml.ws.Airport@9117a1a4
为什么我会返回这些内存地址而不是字符串? 什么可能导致"测试"输出
由于
答案 0 :(得分:1)
正如其他人所回答的那样,你是:
1-打印阵列本身
2-使用toString()而不覆盖。
3-打印机场物体
如果要打印有关 Airport 的特定内容,则需要明确使用这些属性。另外,请阅读文档https://flightwise.com/documentation/39/PlaneXML_API_Reference.html#Airport
它的内容如下:
提供有关机场的基本信息。
标识为字符串
ICAO As String
作为字符串的位置
Lat As Double双 Lon As Double
Elev As Int32
GMTOffset为短期 DST为短
答案 1 :(得分:0)
如果您实现toString()
对象的Airport
方法,则可以在控制台上看到字符串。
答案 2 :(得分:0)
toString()不返回地址。它返回
getClass().getName() + '@' + Integer.toHexString(hashCode())
答案 3 :(得分:0)
由于info
是String
的数组,因此输出为[Lcom.flightwise.planexml.ws.Airport;@604ed9f0
而不是String
,如果您愿意打印toString()
课程的Airport
(如果您已超越)方法,然后执行:
System.out.println(info[0].toString()) // you can use any index in place of 0