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个类的例子。你自己写上的话编译器就不加了,省略编译器就加上