Java Min Max方法

时间:2017-03-16 15:49:58

标签: java

我的Java上的可变方法存在问题,数据结构出现错误,表示min和max无法解析为变量。

@Override
public Optional <T> min(){
    if (Set.isEmpty())
        return Optional.empty();

    else(
            T min = Collections.min(Set);
            return Optional.of(min);
}

@Override
public Optional <T> max() {
    if(Set.isEmpty())
        return Optional.empty();
    else (
            T max = Collections.max(Set);
            return Optional.of(max());
}

1 个答案:

答案 0 :(得分:0)

最重要的是,您需要在else部分周围使用花括号,例如:

    else {
        T min = Collections.min(Set);
        return Optional.of(min);
    }

这应该编译。

有几个小问题:

我建议您在if部分周围使用大括号。

我将Set作为实例变量。如果您希望其他任何人能够读取您的Java代码(就像您想要在Stack Overflow上询问问题的人那样),请不要使用以大写字母开头的变量名。特别是不要使用众所周知的接口(java.util.Set)的名称作为变量名。这会造成很多混乱。

max方法中,在创建max Optional之后,您得到了一对圆括号。