javac中 source 和 target选项是干什么用的,他们之间有什么关系吗? 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 问题是这样的类public class Test {public static void main(String[] argv){String s1="123";String s2="12";System.out.println(s1.contains(s2));} }在jdk 1.5下javac -source 1.4 -target 1.4 Test.java能编译成功,但生成的class在jdk1.4下运行报错Exception in thread "main" java.lang.NoSuchMethodError: java.lang.String.contains(Ljava/lang/CharSequence;)Zat Test.main(Test.java:14)因为String.contains(CharSequence)是在jdk1.5 引入的。现在关键问题是我在编译的时候已经加了-source 1.4 -target 1.4 选项,javac怎么没有起作用,应该报错才对呀。 source 表示源文件的版本target 表示编译时候的版本比喻1.5下的代码需要在1.4下编译“ javac -source 1.5 target 1.4 to ProvidenceZY :.5下的代码需要在1.4下编译,什么意思 ?我的例子中 s1.contains(s2);String的 contains方法 就是 1.5引入 的 ,但用javac -source 1.4 -target 1.4 Test.java 也能编译通过,但实际上 不能在jdk1.4上运行,那说明-source 1.4 选项 没有把Test类编译成可以在jdk1.4下运行的字节码,即此选项 没有 起作用,可以这样理解吗? 我认为你的编译根本没有通过1.5的源文件(包含了1.5的新功能)怎么可能使用1.4编译器编译通过呢?你看见的编译通过,可能是由于多次编译,而没有CLEAN之前编译所残留的垃圾文件造成的其实根本没有编译通过 同样的程序在WINDOWS上和LINUX上差别那么大? 求助各位大虾:如何用java开发一个简单应用程序,本人小白! Java怎样获取系统用户的操作日志那?? 急急急!!!!明天要交员工管理系统,今天还没调试出来!!!在线等,急啊! 参数传递问题:如何在操作了一个自定义类型的参数后还能得到初始值呢? 关于netscape.javascript 两道JAVA多项选择题~~ java有图片处理的包吗? JBuilder的Extra怎么用啊? 请教(急):用weblogic.rmic老生不成存根和骨架文件,但没报错? 字符串问题 JTable使用探讨
类
public class Test {
public static void main(String[] argv){
String s1="123";
String s2="12";
System.out.println(s1.contains(s2));
}
}
在jdk 1.5下
javac -source 1.4 -target 1.4 Test.java
能编译成功,但生成的class在jdk1.4下运行报错Exception in thread "main" java.lang.NoSuchMethodError: java.lang.String.contain
s(Ljava/lang/CharSequence;)Z
at Test.main(Test.java:14)因为String.contains(CharSequence)是在jdk1.5 引入的。现在关键问题是我在编译的时候已经加了-source 1.4 -target 1.4 选项,javac怎么没有起作用,应该报错才对呀。
target 表示编译时候的版本
比喻1.5下的代码需要在1.4下编译“
javac -source 1.5 target 1.4
.5下的代码需要在1.4下编译,什么意思 ?
我的例子中 s1.contains(s2);String的 contains方法 就是 1.5引入 的 ,但用
javac -source 1.4 -target 1.4 Test.java
也能编译通过,但实际上 不能在jdk1.4上运行,那说明-source 1.4 选项 没有把Test类编译成可以在jdk1.4下运行的字节码,即此选项 没有 起作用,可以这样理解吗?
1.5的源文件(包含了1.5的新功能)怎么可能使用1.4编译器编译通过呢?你看见的编译通过,可能是由于多次编译,而没有CLEAN之前编译所残留的垃圾文件造成的
其实根本没有编译通过