簡體   English   中英

為什么以及如何使用JShell?

[英]Why and how do you use JShell?

我經歷了幾個關於JShell的教程,我仍然不了解最重要的部分:為什么我甚至會使用JShell?

這就是Oracle所說的:

“您可以測試單個語句,嘗試不同的方法變體,並在JShell會話中嘗試不熟悉的API”。

是的,很棒,但對於所有這些事情,我可以使用IDE。 我明白,REPL應該能夠更快地進行代碼評估。 但是,在帶有Sysout的虛擬Hello World項目中在IDE中測試一段代碼肯定不會慢一些?

事實上,IDE提供自動完成,早期檢測錯誤,我可以通過鼠標點擊檢查方法/類的實現。 這一切都應該使IDE中的代碼測試比JShell更快?

我錯過了什么? 有人可以給我一些用例,使用JShell比使用IDE更好嗎? 你們是如何使用JShell的?

雖然我真的鼓勵你繼續閱讀Java Shell的動機和目標。

然而,通過輕微的動手回答你的問題,我真的很高興知道你在IDE上嘗試這個時所采取的步驟和程序。 那么,只有少數,你去: -

1.我最近知道Java 9引入了重載的Convenience Factory方法收集,然后很好奇他們做了什么以及如何使用它們。

腳步

-> Type 'jshell' on command prompt (assuming JAVA_HOME is set to JDK9's bin)
-> Type 'List.o'
-> Press Tab (completes the `of`) 
-> Tab displays all signatures 
-> Tab starts reading the documentation from first

在此輸入圖像描述

2.如何保持代碼的語法? 如果您在上面的圖像中注意到List的初始化甚至不關心存儲它的變量,終止分號等。

3.您能多快找出您要實施的某些代碼拋出的異常? 因此,這里使用的情況下,我想創建一個Map的字符串(如水果的名稱)的字符串(它們的顏色),那么一些水果在后期添加到它,離開了那些我不能確定的顏色。 然后最終獲得所有那些紅色水果的清單。 當然,既然我現在正在學習Java 9,我會嘗試使用與Java9一樣多的API。

在此輸入圖像描述

雖然您可以嘗試在IDE中添加所有(^^)代碼,但您可以自己注意到最終用於實現不可變映射靜態工廠方法的所有特性的時間

PS

  • Robert 在這里介紹了Jshell,它詳細介紹了JShell如何有效。

  • 正如您所做的所有這些,請記住,Jshell的目標不是成為IDE。

  • 總的來說,所有這一切都通過繞過“代碼 - >編譯 - >執行”循環的編譯階段對語言進行簡單的實驗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM