jdk1.7的一些疑问

super_loverax 2013-05-30 10:10:14
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真的有这些新特性吗,有更新日志吗。知情者帮忙答复一下,谢谢!
...全文
248 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
麦田 2013-06-05
  • 打赏
  • 举报
回复
还没用过,还用着1.5的呢
yktd26 2013-06-03
  • 打赏
  • 举报
回复
引用 10 楼 super_loverax 的回复:
谢谢各位的回答,是我的eclipse版本太低的缘故,必须是3.7.1以上的版本才支持java新特性。另外,新特性中关于List,Map等简化 我怎么还是不行。 比如:

List<Integer> list={1,2,3};
Map<String,Integer> map={"hello":1,"hello1":2} 这样的......是我用法错了吗。
你看错了吧,这好像被推迟到了java 8
fengmochen 2013-06-02
  • 打赏
  • 举报
回复
这种问题下个1.7的api文档就完事,有问题直接查api文档
super_loverax 2013-06-02
  • 打赏
  • 举报
回复
引用 10 楼 super_loverax 的回复:
谢谢各位的回答,是我的eclipse版本太低的缘故,必须是3.7.1以上的版本才支持java新特性。另外,新特性中关于List,Map等简化 我怎么还是不行。 比如:

List<Integer> list={1,2,3};
Map<String,Integer> map={"hello":1,"hello1":2} 这样的......是我用法错了吗。
关于集合的这些用法 大家怎么看啊
oh_Maxy 2013-05-31
  • 打赏
  • 举报
回复
Eclipse会有个自带的运行环境,需要通过修改"java build path"-->"JRE System Library",改成自己安装的jdk就好了。
valance_1 2013-05-31
  • 打赏
  • 举报
回复
Eclipse要加载新版本的jre才行,不然开发工具认识的是自己默认的
LCore 2013-05-31
  • 打赏
  • 举报
回复
引用 楼主 super_loverax 的回复:
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真的有这些新特性吗,有更新日志吗。知情者帮忙答复一下,谢谢!
楼主看看是否是上面几位朋友提出的问题 反正我用新特性的时候完全没有问题的哦
super_loverax 2013-05-31
  • 打赏
  • 举报
回复
谢谢各位的回答,是我的eclipse版本太低的缘故,必须是3.7.1以上的版本才支持java新特性。另外,新特性中关于List,Map等简化 我怎么还是不行。 比如:

List<Integer> list={1,2,3};
Map<String,Integer> map={"hello":1,"hello1":2} 这样的......是我用法错了吗。
ZZZ5512536 2013-05-31
  • 打赏
  • 举报
回复
修改eclipse使用的jdk版本
地下室森林 2013-05-30
  • 打赏
  • 举报
回复
我用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;
		}
	}
}
yktd26 2013-05-30
  • 打赏
  • 举报
回复
这些都支持,是你环境配置问题,啥版本的eclipse,确定你的project设置的是你的jdk1.7?
fei1710 2013-05-30
  • 打赏
  • 举报
回复
估计你的使用的jre还是老版本的jre
huntor 2013-05-30
  • 打赏
  • 举报
回复
用javac编译有问题吗? eclipse的编译器设置的是java7吗
tyskin 2013-05-30
  • 打赏
  • 举报
回复
可能是你的eclipse还不支持jdk7,你直接javac试下好着没

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧