五千年(敝帚自珍)

主题:【评论】Sun发布了最新的Java版本-- 5.0 Tiger版 -- Highway

共:💬18
全看树展主题 · 分页首页 上页
/ 2
下页 末页
家园 Sun将在Java 1.5或者JDK 5.0中提供此Feature

到目前为止,还不知道将来是Java 1.5还是JDK 5.0,因为网页上写的是JDK 5.0,而下载的软件里面却是Java 1.5,实在是有趣,这里还是统称为Java 1.5算了,管它以后叫什么。

我刚才试验了一下,Java 1.5里面的枚举是用类实现的,可以有自己的构造函数以及set/get函数,这意味着它也有类的开销。

实在是不明白为什么Sun不能够提供一种轻量级的类变种?因为对于枚举这样的简单类型来说,完整的类开销是不必要的,虽然用类来实现枚举是很简单的事情。

家园 Eclipse 3.0 Build 20040715开始支持JDK5

今天我下载了Eclipse 3.0 Build 20040715,发现它开始支持JDK 5.0了。但是目前的版本虽然支持了Generic Programming,却不支持Boxing/Unboxing。也就是说,虽然你可以用Javac正常编译使用了Boxing/Unboxing特性的源程序,但是该源程序在Eclipse 3.0 Build 20040715环境中却会被报告错误。

下面是我曾经列表过的三个源程序在Eclipse 3.0 Build 20040715环境中能够通过的对应版本,有心者可以对比一下:

第一个源程序:

package myPackage;

import java.util.*;

public class Freq

{

public static void main(String[] args) {

Map<String, Integer> m = new TreeMap<String, Integer>();

for (String word : args) {

Integer freq = m.get(word);

m.put(word, new Integer((freq == null ? 1 : freq.intValue() + 1)));

}

System.out.println(m);

}

}

第二个源程序:

package myPackage;

import java.util.*;

public class MyClass {

public void test()

{

ArrayList<String> al=new ArrayList<String>();

al.add("111");

al.add("222");

System.out.println(al.get(al.size()-1));

System.out.println(al.get(al.size()-2));

ArrayList<Integer> al2=new ArrayList<Integer>();

al2.add(new Integer(111));

al2.add(new Integer(222));

System.out.println(al2.get(al2.size()-1));

System.out.println(al2.get(al2.size()-2));

}

public static void main(String[] args) {

MyClass mc=new MyClass();

mc.test();

}

}

第三个源程序:

package myPackage;

class BasicGeneric <A>

{

private A data;

public BasicGeneric(A data)

{

this.data = data;

}

public A getData()

{

return data;

}

}

public class MyClass2 {

public String test01(String input) {

String data01 = input;

BasicGeneric<String> basicGeneric = new BasicGeneric<String>(data01);

String data02 = basicGeneric.getData(); return data02;

}

public int test02(int input) {

Integer data01 = new Integer(input);

BasicGeneric <Integer> basicGeneric = new BasicGeneric<Integer>(data01);

Integer data02 = basicGeneric.getData();

return data02.intValue();

}

public static void main(String [] args) {

MyClass2 sample = new MyClass2();

System.out.println(sample.test01("This generic data"));

System.out.println(sample.test02(12));

}

}


本帖一共被 1 帖 引用 (帖内工具实现)
家园 Please keep us posted!
全看树展主题 · 分页首页 上页
/ 2
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河