Chạy ví dụ echo từ Jshell [trùng lặp]
Sep 08 2020
Tôi đọc một ví dụ về đối số dòng lệnh như vậy:
public class Echo {
public static void main (String[] args) {
for (String s: args) {
System.out.println(s);
}
}
}
Nó chạy đúng cách từ dòng lệnh, làm thế nào tôi có thể chạy nó từ Jshell?
jshell> Echo.main testing
| created variable testing, however, it cannot be referenced until class main is declared
Nó báo lỗi không tham chiếu được.
Trả lời
2 aioobe Sep 08 2020 at 15:51
Bạn gọi nó như bất kỳ phương thức tĩnh nào khác:
Echo.main(new String[] { "hello", "world" });
Toàn phiên:
$ 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
Lưu ý rằng bạn có thể khai báo mainphương thức của mình như sau:
public static void main(String... args) { ... }
Đây là mã nhị phân tương thích với String[] argscú pháp, nhưng sẽ cho phép bạn gọi nó như sau:
Echo.main("hello", "world");