.getClass()。getName()方法如何与int类型一起使用?

朱利安领主

有人告诉我,诸如此类的原始类型int没有方法。.getClass().getName()在类型变量上使用int并返回包装类“ Integer时,它如何工作这是自动装箱的示例吗?

重要提示:仅在将int变量传递到泛型类中时,这才对我有用。然后,从main方法调用泛型类中的方法。

我正在使用此通用类:

public class gen< T > {

    private T thing;

    public gen(T thing) {
        this.thing = thing;
    }

    public String varType() {
        return thing.getClass().getName();
    }
}

public class Driver() {
    int i = 5;
    gen g = new gen(i);
    System.out.println(g.getType());
}

输出为:java.lang.Integer

有人可以解释一下这个过程的内部原理吗?

这样的事情是行不通的:

public static void main(String args[]) {

    int i = 5;
    i.getClass().getName();
}
安德烈亚斯

通用类型参数,例如T,不能是基元对于基本类型,请使用相应的包装器类。更具体地说,T不能int

在您的情况下,编译器会在调用中为您自动int装箱Integernew gen(i)

请参阅:为什么Java泛型不支持基本类型?


注1: gennew gen原始泛型,因为省略了type参数。不要使用原始泛型。此外,如果您仍然忽略它们又有什么意义呢?

注2: Java命名约定是为了使类名以大写字母开头,因此应命名类Gen,而不是gen

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何创建与嵌套类型参数的子类一起使用的扩展方法?

如何将Swift协议与泛型方法和泛型类型一起使用

如何将数组方法与联合类型元素一起使用?

如何将静态扩展方法与静态解析的类型参数一起使用?

将通用方法与类型DataType一起使用

我如何让类型检查与 React forwardRef 一起使用

Symfony:如何使JMS Serializer与严格类型一起使用?

如何使模板类型推导与引用一起使用?

指针如何与Java中的原始类型一起使用?

类型推断如何与可选参数一起使用?

如何注册将与值类型一起使用的DependencyProperty

如何使条件与数据类型 BOOLEAN 一起使用

getClass()。getName()如何返回通用类型的类名称?

Java方法注释如何与方法覆盖一起使用?

如何将TypeApplications与typeclass方法一起使用,为什么GHCi会推断无法使用的类型?

与Gson一起使用通用类型

与MKL一起使用的数组类型

将映射类型与模板文字类型一起使用时如何使用原始映射键?

如何将 .css() 方法与数组一起使用?

未来的get()方法如何与超时一起使用

如何将apiReources方法与`only`一起使用?

如何使变量与多种方法一起使用?

为什么不能将构造函数语法与“ unsigned int”类型一起使用?

如何在Scala中将依赖于路径的类型与类型类一起使用

如何将 TypeScript 的索引访问类型与可为空的嵌套类型一起使用?

如何使通用代理类型与静态类型检查器一起使用

“ any”类型如何与基本类型(例如字符串)一起使用?

无法将==与livedata <int>和int一起使用,我还能如何检查?

将linq类型的方法与IAsyncEnumerable一起使用的正确方法是什么?