java接收參數
A. java接收命令行參數,逐一逐行在控制台輸出
public class Test {
public static void main (String[] args) {
for(String s : args)
System.out.println(s);
}
}
B. java類中的方法接收參數類型限制的問題
//Apple Orange 都繼承自Fruit類,同時Jonathan是Apple的子類
List<? extends Fruit> list = new ArrayList<Apple>();
//list.add(new Apple());Error
//list.add(new Fruit());Error
List<? super Fruit> list = new ArrayList<Apple>();
list.add(new Apple());//可以
list.add(new Fruit());//可以
List<? extends Fruit> list = new ArrayList<Apple>();
list中為什麼不能加入Fruit類和Fruit類的子類呢,原因是這樣的
List<? extends Fruit>表示上限是Fruit,下面這樣的賦值都是合法的
List<? extends Fruit> list1 = new ArrayList<Fruit>();
List<? extends Fruit> list2 = new ArrayList<Apple>();
List<? extends Fruit> list3 = new ArrayList<Jonathan>();
如果List<? extends Fruit>支持add方法的方法合法的話
list1可以add Fruit和所有Fruit的子類
list2可以add Apple和所有Apple的子類
list3可以add Jonathan和所有Jonathan的子類
這樣的話,問題就出現了
List<? extends Fruit>所應該持有的對象是Fruit的子類,而且具體是哪一個
子類還是個未知數,所以加入任何Fruit的子類都會有問題,因為如果add Apple
的話,可能List<? extends Fruit>持有的對象是new ArrayList<Jonathan>()
Apple的加入肯定是不行的,如果 如果add Jonathan
的話,可能List<? extends Fruit>持有的對象是new ArrayList<Jonathan的子類>()
Jonathan的加入又不合法,所以List<? extends Fruit> list 不能進行add
而List<? super Fruit> list 表示list持有的對象是Fruit的父類,下限是 Fruit,所以list中add Fruit或Fruit的子類是沒有問題的
C. java怎麼接受對象作為參數的方法
對象做參數,傳過去的是地址。 所以你在你調用的方法裡面可以修改對象的某些屬性(值),基本數據類型就不可以。Java中數組也是傳遞地址的。
D. java怎麼shell接收傳的參數
最近在寫一段shell代碼時,最後調用一個java class, 需要傳入6個參數, 如下:
cd $POC_TOP/bin
java -cp ./ojdbc14.jar:. lob_downloader $fileID $filePath $fileName $account $pass $dburl
結果執行時,發現如果文件名含有空格, 那麼則這一個參數會被空格分為數個不同的參數。不能作為一個整體來解析。 而我已經把fileName的值預先已前後加上雙引號,如下:
$fileName='"'$fileNameTmp'"'
但還是不行,後來發現,其實,只要在調用時,給參數前後雙引號就可以避免這個問題了, 如下:
java -cp ./ojdbc14.jar:. lob_downloader 「$fileID」 「$filePath」 「$fileName」 「$account」 「$pass」 「
E. java編程接收兩個命令行參數,功能是把第二個命令行參數以文本方式保存到第一個文件中;
public class JavaArgvTest{
public static void main(String argv[])throws java.io.FileNotFoundException,java.io.IOException{
argv=new String[]{"JavaArgvTest.txt", "adw eqw ewerf wewera dfasdfwerwqer"};
if(argv==null || argv.length<1){
System.out.println("Please input 2 parameters");
return;
}
java.io.FileOutputStream fou=new java.io.FileOutputStream( argv[0] );
fou.write(argv[1].getBytes());
fou.close();
}
}
// 大致如此 經過JDK1.7 測試
F. java怎麼接收shell腳本傳進來的參數
java main方法中的args數組,就是用來接收命令行執行時傳入的參數
G. java 中 如何通過命令行來傳遞參數
可以在命令行運行java程序時加上程序的參數。
例子如下:
public class HelloWorld{
public static void main(String args[]){
System.out.println("temp=" + args[0]);
}
}
源代碼截圖:
解釋一下: String[ ] args
該參數,是一個字元串數組,用來接收從命令行輸入的參數
1. 參數之間用空格隔開
2. java解釋器會自動處理,把用空格隔開的每一個參數通過args數組傳遞給買呢()方法。
3. 參數的下標從0開始,args[0]表示第一個參數,例如java HelloWorld 10 20 30
4.可以有多個空格,多個空格會被忽略。
(7)java接收參數擴展閱讀:
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。
Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等 。
H. java中jar參數的接收問題。。。急!
java -classpath test.jar yourMainClass
參數之間用一個空格作為間隔符.打包成jar。另需要在jar裡面生成一個配置文件的META-INF文件夾和裡面的MANIFEST.MF文件,MANIFEST.MF文件裡面是main方法所在類,以及要載入的包
I. java 接收url中參數帶 % %傳過來的值
%是URL中的轉義符,比如 %20 表示空格,如果你要表達一個%本身,需要使用 %25表示。
js中可以使用 escape() 來編碼。
J. Java中什麼是設置參數和接收參數
這兩個類本質上是一樣的,當沒有提供構造方法時,編譯器會自動加上一個默認的不帶參數的構造方法,就是上面2個類的例子。你自己寫上的話編譯器就不加了,省略編譯器就加上