Execute o exemplo de eco de Jshell [duplicado]
Sep 08 2020
Eu li um exemplo de argumentos de linha de comando:
public class Echo {
public static void main (String[] args) {
for (String s: args) {
System.out.println(s);
}
}
}
Ele é executado corretamente na linha de comando, como poderia executá-lo no Jshell?
jshell> Echo.main testing
| created variable testing, however, it cannot be referenced until class main is declared
Ele relata um erro que não foi referenciado.
Respostas
2 aioobe Sep 08 2020 at 15:51
Você o invoca como qualquer outro método estático:
Echo.main(new String[] { "hello", "world" });
Sessão completa:
$ jshell
| Welcome to JShell -- Version 11.0.8
| For an introduction type: /help intro
jshell> public class Echo {
...> public static void main (String[] args) {
...> for (String s: args) {
...> System.out.println(s);
...> }
...> }
...> }
| created class Echo
jshell> Echo.main(new String[] { "hello", "world" });
hello
world
Observe que você pode declarar seu mainmétodo da seguinte maneira:
public static void main(String... args) { ... }
Isso é binário compatível com a String[] argssintaxe, mas permitiria que você o chamasse da seguinte maneira:
Echo.main("hello", "world");
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino