java,commandline
<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>
java commandline是什麼,讓我們一起了解一下?
commandline是一個命令行,java程序的啓動入口是main方法,可以透過main中的args參數來實現將外界變量傳入main方法內部,因爲args參數使用不夠方便,還需要CommandLine實現一個數組。
我們知道,java程序的啓動入口是main方法,我們其實已經可以透過main中的args參數來實現將外界變量傳入main方法內部了,那爲什麼還需要CommandLine?
因爲args參數使用不夠方便,主要是因爲其實現是一個數組,整個傳遞過程需要依賴順序。編程者和程序調用需要記憶參數的順序,才能正確傳遞參數。這個設計其實是不太好的,更好的做法是透過一個map或者說映射,這樣取值就是透過key來取值,而不需要依賴順序或者位置。
這個其實和spring的jdbcTemplate設計思路一樣。起初就只有jdbcTemplate,傳參數透過佔位符來的,依賴順序。後來纔在jdbcTemplate的基礎上做了一層封裝,也就是NamedParameterJdbcTemplate,是透過映射來傳參的。
所以CommandLine其實就是幫我們完成了映射的構建,將原本的數組參數轉換成了一個映射參數。
實戰操作:
public class Main { public static void main(String args[]) { // 構建參數 Options options = new Options() .addOption("name", true,"map-param")// 鍵值對參數,必須成對 .addOption("has", "bool-param");// bool型參數 // 解析 try { CommandLine line = new DefaultParser().parse(options, args); // 取值 System.out.println(line.hasOption("name")); System.out.println(line.getOptionValue("name")); System.out.println(line.hasOption("has")); } catch (ParseException e) { e.printStackTrace(); } }}
-
蘋果手機長圖怎麼截圖,蘋果手機截長圖的兩種方法
1、長截圖辦法一iOS13上新之後自帶的長截圖方法,是在我們瀏覽網頁的時候使用的。操作方法:上音量鍵+開關鍵一起按下,然後點開截好的圖片,選擇“整頁”截圖即可。2、長截圖方法二利用QQ實現長截圖。操作方法:首先就是需要我們開啟QQ,然後試着上音量鍵+開關鍵一起按下...
-
省內移動數據流量是指什麼
省內移動數據流量是指你的SIM卡所屬省份的可用GPRS流量,如果出了你的卡所屬的省份,去別的省,那省內移動數據流量就不可以使用,只能使用全國通用流量。移動數據流量有省內流量和全國通用流量,國內流量和省內流量是有所區別的。首先優先度不同:正常情況下,如果用戶在自...
-
關於底噪的意思介紹
1、底噪亦稱背景噪聲,基本所有的好耳機都有底噪,耳機底噪一般都是因爲前端的問題,耳機的靈敏度越高對於底噪就越敏感,一些高靈敏度和低阻抗的耳機會把底噪放大,如果加大音量的情況下,底噪會更加的明顯。2、檢測MP3底噪,一般方法是在夜晚等比較安靜的環境中戴上耳機,播...
-
黑色背景拍照竅門詳解
1、調整拍攝角度,尋找背景:既然是拍攝黑背景,在拍攝前我們儘量選擇深色的背景,這樣也就更加容易達到效果。不過深色不一定要是純黑色,只要顏色較爲深沉,偏向暗色調的均可。拍攝前多多觀察,尋找不同的拍攝角度,以找到有反差的深色作爲背景。要多嘗試不同的角度,直至主體...