微科社区,轻松开发从此开始! 请登陆 免费注册

微科社区

当前位置:首页 > Java平台 > J2SE >

jdk1.7的一些疑问

时间:2013-06-06 00:57  浏览:努力统计中...
jdk1.7问世已经有一段时间了,一直找不到很可靠的文档说明,网上倒是有不少资料,带着好奇的心里,去官网下载了一个jdk1.7的版本,在eclipse中尝试了下,但是新特性都不通过啊。请大
jdk1.7问世已经有一段时间了,一直找不到很可靠的文档说明,网上倒是有不少资料,带着好奇的心里,去官网下载了一个jdk1.7的版本,在eclipse中尝试了下,但是新特性都不通过啊。请大家指教下,是什么原因呢。


public static void main(String[] args)
{
int salary=1000_0000_000;  //好像这样的数字是支持的是吧,但是报错


String test="hello";     //switch语句支持字符串了对吧,但是依然报错。
switch(test)
{
case "hello":System.out.println("hello");break;
default:System.out.println("error");break;
}
}

等等,还有一些其他的测试,都不行,不知道何故。jdk1.7真的有这些新特性吗,有更新日志吗。知情者帮忙答复一下,谢谢!


可能是你的eclipse还不支持jdk7,你直接javac试下好着没

用javac编译有问题吗?
eclipse的编译器设置的是java7吗

估计你的使用的jre还是老版本的jre

这些都支持,是你环境配置问题,啥版本的eclipse,确定你的project设置的是你的jdk1.7?

我用eclipse刚开始也不可以,但是把编译改成1.7就可以了,楼主可以再试下
package csdn.programbbs_530;

public class NewFeature {
public static void main(String[] args) {
// 二进制字面值
int a = 0b01111_00000_11111_00000_10101_01010_10;
short b = (short) 0b01100_00000_11111_0;
byte c = (byte) 0B0000_0001;
System.out.println(a);
System.out.println(b);
System.out.println(c);

// 特性2:数字变量对下划线_的支持
int num = 1234_5678_9;
float num2 = 222_33F;
long num3 = 123_000_111L;
System.out.println(num);
System.out.println(num2);
System.out.println(num3);

// switch语句支持字符串
String test = "hello";
switch (test) {
case "hello":
System.out.println("hello");
break;
default:
System.out.println("error");
break;
}
}
}


Eclipse要加载新版本的jre才行,不然开发工具认识的是自己默认的


楼主看看是否是上面几位朋友提出的问题
反正我用新特性的时候完全没有问题的哦

Eclipse会有个自带的运行环境,需要通过修改"java build path"-->"JRE System Library",改成自己安装的jdk就好了。

修改eclipse使用的jdk版本

谢谢各位的回答,是我的eclipse版本太低的缘故,必须是3.7.1以上的版本才支持java新特性。另外,新特性中关于List,Map等简化 我怎么还是不行。
比如:

List<Integer> list={1,2,3};
Map<String,Integer> map={"hello":1,"hello1":2} 这样的......是我用法错了吗。




关于集合的这些用法 大家怎么看啊

这种问题下个1.7的api文档就完事,有问题直接查api文档



你看错了吧,这好像被推迟到了java 8

还没用过,还用着1.5的呢
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔线------