首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >public<T> void运行(T对象){}是什么意思?

public<T> void运行(T对象){}是什么意思?
EN

Stack Overflow用户
提问于 2015-08-09 11:01:15
回答 6查看 7K关注 0票数 7

我正在阅读泛型,并尝试编写以下代码。没有编译错误。

代码语言:javascript
运行
复制
import java.util.*;

public class JavaApplication14 {

    public<T>  void run (T obj ) {
        //Do Something
    }

  public static void main(String[] args) {     
      JavaApplication14  m= new JavaApplication14();
      m.run(new ArrayList<>());  
      m.run(new Interger(5);
      m.run(5);
     }
}

如果函数是

代码语言:javascript
运行
复制
 public<T extends Number>  void run (T obj) {
            //Do Something
        }

这是有意义的,因为我们可以将这个函数的参数限制在一个数字及其子类型上。但我非常困惑,没有任何约束的函数“运行”意味着什么?现在可以用任何物体作为论据吗?在什么情况下,我需要在泛型中使用这样的函数?

EN

Stack Overflow用户

发布于 2015-08-09 11:11:48

这里唯一有意义的是,如果这是某种伪抽象或基类,它为行为提供了框架,让另一个程序员实现自己的逻辑,但也提供了默认的空操作。

它可以允许更好地设置泛型类型,例如:

代码语言:javascript
运行
复制
class MySubClass extends JavaApplication14 {
    public <T> void run(T obj){
        new ArrayList<T>().add(obj);
    }
}
票数 0
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31903492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档