我有一堂课
private class TouchCommand {
private int action;
private int x;
private int y;
...
执行命令时,需要验证字段值——null/not null,并根据它产生纵向动作。我想使用 Google Guava 的选项。
哪种解决方案是正确的?这个:
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 ?
- 是否这样做:检查类的字段时(假设它们可以为空)将它们转换为对象 Optional ?
谢谢。