java - 返回类型之前的通用方法java 6 <T>

标签 java generics

有什么区别:

public <T> void createArray(T sample){
    ArrayList<T> list = new ArrayList<T>();
    list.add(sample);
}

public void createArray(T sample){
    ArrayList<T> list = new ArrayList<T>();
    list.add(sample);
}

我读到使用类型的方法签名应该有 <T>在返回类型之前,但为什么我仍然能够在没有 <T> 的情况下创建方法?放不放有什么影响?

最佳答案

在第二种方法中,类型参数通常会在该方法所属的类声明中定义:

class MyClass<T> {
   public void createArray(T sample){
      ArrayList<T> list = new ArrayList<T>();
      list.add(sample);
   }
   ...
}

所以第二种方法属于泛型类型。 第一种方法是通用方法,因为它定义了自己的类型参数。

关于java - 返回类型之前的通用方法java 6 <T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33754034/

相关文章:

java - 自动生成非泛型接口(interface)实现

java - 构建中的 Android Studio 错误 - 原因 : startElement. getAttributeByName(QName ("name")) 不能为空

java - 是否有一个 java 类用于使用日期构造 cron 表达式?

c# - 恢复一个 "lost"类型的参数

c# - 通用树到 JSON

C# - 如何为 T 和 T[] 应用不同的泛型方法

java - Gradle 编译项目因 Spring Boot 插件失败

java - 如何解压缩 lzo_deflate 文件?

java - mysql主从复制问题: Cannot create PoolableConnectionFactory

java - 抽象继承和泛型(带扑克牌)