如何使用 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
方法。
我想快速检查我正在分析的静态方法的结果,如果可能的话,在 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
方法。