有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Guava toJavaUtil()不存在

我已经升级了我的项目,现在它找不到toJavaUtil()方法。我认为新版本不再支持它。如果没有此调用,如何更改方法使其工作相同

private ViewFlightLevel toActualFlightLevel(... source) {
        return source.getActualTimeOver()
                .toJavaUtil()
                .map(actualTime -> ....)
                .orElse(null);
    }

getActualTimeOver

@Nonnull
    public Optional<Instant> getActualTimeOver() {
        return Optional.fromNullable(actualTimeOver);
    }

toJavaUtil()

 public java.util.Optional<T> toJavaUtil() {
        return java.util.Optional.ofNullable(this.orNull());
    }

我的番石榴版本:

<library.guava-testlib.version>19.0</library.guava-testlib.version>

共 (2) 个答案

  1. # 1 楼答案

    this.orNull()

    应提供值,如果不存在,则为null

    如果您可以使用流,请这样做。否则,该方法可以重新编写,避免使用番石榴

    private ViewFlightLevel toActualFlightLevel(... source) {
        if (source.ActualTimeOver() == null) {
            return null;
        }
        //Assuming the mapping method is - toViewFlightLevel
        return toViewFlightLevel(actualTime);
    }
    

    如果提供了源类型和映射函数定义,则只能提供完整的验证答案

  2. # 2 楼答案

    我的最新版本是28.1-jre

    fun main() {
        val a: java.util.Optional<String> =
               com.google.common.base.Optional.of("String")
               .toJavaUtil()
    }