我面临以下问题。当我遇到问题时,我试图用 Java 编写一个关于该策略的简单教程。
编译器在接口(interface)中的 void do(int i);
上给出了“
import java.util.*;
public class Data {
private List<Integer> ints;
public Data( int[] a ) {
ints = new LinkedList<>();
for( int i : a ) ints.add( i );
}
protected static interface Strategy{
void do(int i);
}
protected void loop( Strategy s ) {
for( int i : ints ) {
s.do( i );
}
}
}
为什么我会收到此错误?预先非常感谢您。
最佳答案
方法名称do
是Java keyword (Section 3.9, JLS)并且不能是方法名称。将您的方法名称更改为非关键字的名称。
protected static interface Strategy{
void doAction(int i);
}
关于Java错误: <identifier> expected inside protected interface,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22305734/