java - 错误: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;
解决方案
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));
}
}
推荐阅读
- arrays - 在 Bash 中使用数组键列表时开始循环到特定索引
- sql - 尝试使用标识列编写存储过程来创建我的表值
- prolog - 如何在 prolog 中定义字符串连接运算符?
- spring-boot - Spring Boot JASYPT 失败无法绑定“spring.datasource.password”下的属性
- c# - Visual Studio C# HttpClient GET 请求未正确显示文本文件行
- outlook - Outlook 桌面用户无法在任务窗格中单击加载项 UI
- xamarin - Visual Studio:Xamarin - 启动 Android 模拟器时出错
- ocaml - 从 OPAM 输出中删除颜色
- datetime - SSRS 报告发现最长的计算机空闲时间
- python - 简单的正则表达式模式来匹配特定目录中的任何 .py 文件