java - 可以自动重载吗?

标签 java generics overloading

考虑一下:

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 object 参数来代替这个效果。

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

谢谢。

最佳答案

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

关于java - 可以自动重载吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10299793/

相关文章:

java - 为什么 Maven 中的动态版本范围没有最初预期的那么有用?

java 泛型与使用 Class.forName() 动态加载类

java - 如何连续动画 Fab 按钮(放大/缩小)?

java - 单例适合这种设计吗?

java - Solr Suggester - 不区分大小写

java - 在 Java 中通过反射获取通用信息

c# - 从具有不同 <T> 的通用列表中随机选择

c++ - `is_base_of` 是如何工作的?

模板参数上的 C++ 函数模板重载

Java重载方法选择