Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
JDK 5.0 的角落

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

1,dynamic cast

类似C++的dynamic_cast<T*>操作符,C#的as操作符,Java 5.0提供了安全的dynamic cast功能,不同的是它以类库的形式提供的:

Class.cast

public T cast(Object obj)
Casts an object to the class or interface represented by this Class object.  
Parameters:
obj - the object to be cast
Returns:
the object after casting, or null if obj is null
Throws:
ClassCastException - if the object is not null and is not assignable to the type T.
Since:
1.5

2,返回值协变

interface SomeInterface{
    Object get();
}

class CovariantImpl implements SomeInterface{
    public String get(){
        return "covariant";
    }
}

public class TestUntitled2 extends TestCase {
    public void testCovariant() {
        SomeInterface obj = new CovariantImpl();
        Assert.assertEquals("covariant", obj.get());
    }
}

3,类型安全的代理

类似只读代理Collections.unmodifiableXXX, 同步代理Collections.synchronizedXXX, Java 5.0提供了类型安全的代理:Collections.checkedXXX

4,Arrays.deepEquals()

5,毫无必要的static import

并且对同一个包内的static method不管用

package si;

class CovariantImpl
    public static void faint(){
    }
}

package si;

class SomeClass{
    public void test(){
        faint(); // compiler faints
    }
}

 

(to be continue...)




相关文章

相关软件