首页 > 解决方案 > 错误:java 中的类、接口或枚举预期策略方法

问题描述

我正在尝试对 java 使用策略方法。写了下面的代码,但是,它总是报错。任何人都可以帮助解决这个问题吗?

  error: class, interface, or enum expected
final Comparator ASCENDING = (i, j) -> i < j;
      ^
hehe.java:39: error: class, interface, or enum expected
final Comparator DESCENDING = (i, j) -> i > j;

interface Comparator {
 boolean compare(int i, int j);
    //    Comparator ASCENDING = (i, j) -> i < j;
    //    Comparator DESCENDING = (i, j) -> i > j;
}


final Comparator ASCENDING = (i, j) -> i < j;
final Comparator DESCENDING = (i, j) -> i > j;

标签: java

解决方案


ASCENDING,DESCENDING应该在类、接口或枚举中声明。像这样:

interface Comparator {
  boolean compare(int i, int j);

  Comparator ASCENDING = (i, j) -> i < j;
  Comparator DESCENDING = (i, j) -> i > j;
}

class MyTest {
  public void test() {
    //use like this
    System.out.println(Comparator.ASCENDING.compare(1, 2));
  }
}

推荐阅读