【发布时间】:2012-07-18 16:38:52
【问题描述】:
我有课
private class TouchCommand {
private int action;
private int x;
private int y;
...
命令执行时,需要验证字段值——null/not null,并根据它产生纵向动作。我想使用 Google Guava 的 Options。
哪种解决方案是正确的? 这个:
public boolean executeCommand() {
Optional<Integer> optionalAction = Optional.fromNullable(action);
...
或:
private class TouchCommand {
private Optional<Integer> action;
private Optional<Integer> x;
private Optional<Integer> y;
...
鉴于对 parseAction 的调用也可能返回 null(或不存在):
TouchCommand touchCommand = new TouchCommand();
touchCommand.mAction = parseAction(xmlParser.getAttributeValue(namespace, "action"));
...
问题:
- 是否这样做:方法 parseAction(和类似方法)返回 Optional ?
- 是否这样做:类对象的字段 Optional ?
- 是否这样做:在检查类的字段时(假设它们可以为null)将它们转换为对象可选?
谢谢。
【问题讨论】: