2

考虑一下:

public static abstract class JunkValue<X>{
    public abstract X value();
    public static <X> JunkValue<X> fix(final X x){
        return new JunkValue<X>()
            {

                @Override
                public X value() {
                    return x;
                }};
    }
}

现在我可以轻松地制作这两种方法:

void test(HappyObject object){test(JunkValue.fix(object));}

void test(JunkValue<HappyObject> object){...}

我想告诉我的编译器,如果我有一个JunkValue<HappyObject>参数,我可以只使用一个HappyObject对象参数来代替这个效果。

我从你可以做的事实中得到这个想法,Number=1;而不是Number=new Number(1)当我扩展 Number 时我得到了很多满足。我只希望对象而不是数字具有相同的效果。

谢谢。

4

1 回答 1

2

自动装箱是语言规范的一部分,不能扩展(无需更改编译器)

于 2012-04-24T14:45:52.803 回答