предположим, у меня есть следующий класс, и я хочу установить условную точку останова на arg == null в отмеченном месте. Это не сработает в eclipse и выдает ошибку «условная точка останова имеет ошибку (и) компиляции. Причина: arg не может быть преобразован в переменную».
Я нашел некоторую связанную информацию здесь , но даже если я изменил условие на "val $ arg == null" (val $ arg - это имя переменной, отображаемое в представлении переменных отладчика), eclipse дает мне та же ошибка.
public abstract class Test {
public static void main(String[] args) {
Test t1 = foo("123");
Test t2 = foo(null);
t1.bar();
t2.bar();
}
abstract void bar();
static Test foo(final String arg) {
return new Test() {
@Override
void bar() {
// I want to set a breakpoint here with the condition "arg==null"
System.out.println(arg);
}
};
}
}