你如何在Intellij调试器中使用代码片段模式?

nev*_*ter 4 intellij-idea

在调试器中,您可以按alt-f8并计算表达式.

还有一个代码片段模式.IntelliJ中的文档仅说:

代码片段模式,用于评估在语句中引入它们以评估文本字段的短代码部分.支持的构造是声明,赋值,循环和if/else.

我在网上找不到任何关于如何使用它的例子,也无法弄清楚自己.

您能举例说明如何使用受支持的结构吗?

nev*_*ter 5

特定

public class CodeFragment {
    public static void main(String[] args) {
        List<Foo> list = new ArrayList<Foo>();
        list.add(new Foo("555"));
        list.add(new Foo("777"));
        list.add(new Foo("999"));
        list.add(new Foo("bill"));

        System.out.println();
    }

    public static class Foo {
        String s;

        public Foo(String s) {
            this.s = s;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我们在println上设置一个断点,我们可以将以下内容放入代码片段中

Foo resultFoo = null;
Iterator<Foo> it = list.iterator();
while (it.hasNext()) {
    Foo foo = it.next();
    if (foo.s.equals("777")) {
        resultFoo = foo;
    }
}
resultFoo = resultFoo;
Run Code Online (Sandbox Code Playgroud)

这演示了声明,赋值,循环和if.

请注意,在旧版本的intellij中,不支持foreach循环!

另请注意最后的作业.据我所知,显示的结果是最后一个语句的结果.如果没有最后一个语句,此代码将显示"false" - 即最后一次调用it.next的结果.