易截截图软件、单文件、免安装、纯绿色、仅160KB

Effective Java 学习笔记 (11)

Clone这个方法很鸡肋,原因是因为它是受保护的(protected),其二Clone这个方法是可选的,即有可能类没有提供这个方法。
clone没有调用构造函数,而且如果父类没有实现clone的话,子类永远也不可能正确实现clone.
总之,clone是个很头痛的函数,如果要正确实现,必须考虑到深考贝的情况,否则被克隆出来的对象就不是独立的,如,要写一个堆栈类的克隆函数,正确的实现方法是:
@Override public Stack clone() {
            try {
                        Stack result = (Stack) super.clone();
                        result.elements = elements.clone();
                        return result;
            } catch (CloneNotSupportedException e) {
                        throw new AssertionError();
            }
}
要注意对于final字段不能正常工作,clone结构与可变对象的final字段是不兼容的。
对于列散数组,仅仅递归调用的clone方法还不够,看书中正确的做法:
public class HashTable implements Cloneable {
            private Entry[] buckets = ...;
            private static class Entry {
                        final Object key;
                     


相关文档:

Java用AWT实现的状态栏

      AWT中没有提供状态栏工具,可以在Frame中添加一个Panel实现类似的功能。基本功能有创建状态栏,添加指示器,移除指示器,改变指示器内容,获得指示器内容,添加指示器鼠标消息响应,添加指示器右键弹出菜单,获得对一个指示器的引用等。
import java.awt.Color;
import java.awt.Componen ......

JAVA获取当前工程路径(非web工程)


 
注:不适合web工程
1、利用System.getProperty()函数获取当前路径:
System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径
2、使用File提供的函数获取当前路径:
File directory = new File("");//设定为当前文件夹
try{
    System.out.println(directory. ......

Flex 对Java端返回Collection的处理方法

将Flex与Spring集成后(BlazeDS 与Spring集成指南 ),第一个面临的问题就是:对于Java端返回的各种Java类型的对象,Flex中能否有相应的数据类型来映射。
处理,尤其是List、Set、Map及POJO对象值。
在 BlazeDS 与Spring集成指南 例子的基础上,调整相关的测试代码如下:
1、Java端
1.1、com.yeeach.HelloWorldService ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号