如何使用 IDE 快速 运行 Java 中的静态代码片段?

How to quickly run a static code snippet in Java using an IDE?

我想快速检查我正在分析的静态方法的结果,如果可能的话,在 IDE 内。

public static int foo(int a, int b){
    return (a & 11) ^ b;
}

例如,右键单击表达式并运行它,例如

> foo(11, 2)
> 9
> foo(28, 3)
> 11

事先不知道结果(实际代码更复杂),单元测试无从谈起。

我该怎么做?

Eclipse中有所谓的Java剪贴簿页面 : 见 Eclipse Help - Creating a Java Scrapbook Page

因为Java9有所谓的JShell这也可以在没有 IDE 的情况下使用:参见 Oracle Help Center - Introduction to JShell

Java 9 JShell 可以从 IntelliJ 使用 IDEA: 工具 | JSHell 控制台... 操作。

如果使用 IntelliJ 和 Java 9+,您可以访问 jshell,即 Java 9 及更高版本附带的 repl。这允许您将方法定义粘贴到 jshell 控制台,然后 运行 使用不同的参数。

更多细节参见https://blog.jetbrains.com/idea/2017/09/java-9-and-intellij-idea/(实际的JShell部分在中途,显然没有直接link)

在Java9中,可以使用其他答案中提到的jshell

如果没有,您仍然可以使用单元测试。从技术上讲,单元测试不需要有断言。你可以在你的单元测试中有任何代码,这意味着你也可以有这样的东西:

@Test
public void getMyResult(){
    System.out.ptintln(foo(1,10));
}

显然,您不应该将此测试提交到您的源代码存储库中,因为该测试设计不当(它将始终通过,除非 foo 抛出异常)但出于您的目的,它可能会成功.

编辑:

正如@AxelH 在评论中所说,您还可以创建一个简单的 main 方法。