我有一个联系 Web 服务、解析并返回自定义对象数组的方法。该服务有时还会在响应中包含一些错误消息。
我希望我的方法在返回自定义对象数组时,应该能够在类似于输出参数的东西上更新错误消息。
看来 Java 不支持 out 参数。在 Objective-C 中,许多方法将像 &error 这样的指针作为最后一个参数来更新错误。
有没有办法在 Java 中实现这一点?
我有一个联系 Web 服务、解析并返回自定义对象数组的方法。该服务有时还会在响应中包含一些错误消息。
我希望我的方法在返回自定义对象数组时,应该能够在类似于输出参数的东西上更新错误消息。
看来 Java 不支持 out 参数。在 Objective-C 中,许多方法将像 &error 这样的指针作为最后一个参数来更新错误。
有没有办法在 Java 中实现这一点?
一种方法是将可变对象(例如列表)传递给您的方法,并让该方法更改其内容。
例如,在这种情况下,您可以传递一个空的错误消息列表。如果没有错误,列表将返回空;否则,该方法会将它发现的任何错误插入到列表中,并且调用者将能够检索它们:
public CustomObject[] retrieve(List<ErrorObject> errors) {
...
}
呼叫者:
...
List<ErrorObject> errors = new ArrayList<ErrorObject>();
CustomObject[] results = wrapper.retrieve(errors);
if (results == null) {
for (ErrorObject eo : errors) {
...
}
}
您可以在类中定义一个全局变量。
private String errorMessage;
在类中,您将定义您的 Java 方法。
public Object[] returnObjects {
// code goes here
errorMessage = "Some message";
}
在 Java 中,返回一个空数组比返回 null 更好。遇到空数组时,您将检查 errorMessage 以获取消息。