百科问答小站 logo
百科问答小站 font logo



如何正确理解java中的泛型类型推导? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

从爆栈的问题来看,和泛型类型参数推断一毛钱关系没有。


你的问题在于,你希望通过一个确定类型的返回值,例如A,然后这个返回值是extends XXX的,然后通过这个来限定返回值的确定类型,这显然是错误的。


最直接的原因就是泛型方法内部的任何代码不能限定泛型类型参数,泛型类型参数必须在方法被调用的时候被确定,而不是方法执行的时候确定。或者你可以简单理解为泛型类型参数是外部/调用方限定的。

这与推断一毛钱关系没有。


       T extends ToWriting     

是指外部会提供一个满足extends ToWriting条件的T,而不是说你可以随意返回一个东西只要满足这个条件就可以了。



当然了,其实你最终的需求准应该是泛型的特化,这个C#和Java都不支持。




  

相关话题

  把一个视频文件后缀改成txt,得到是一串代码,那么反过来,有没有一种规律,编写一段代码然后生成视频? 
  我经常看到 Java 架构师的说法,但是很少看到 C++ 架构师的说法。有哪些造成该现象的原因? 
  Java 的开发效率究竟比 C++ 高在哪里? 
  为什么上古编程语言(比如 COBOL)总喜欢把代码全部写成大写字母? 
  依靠 IDE 会让程序员的水平变差吗? 
  如何将 C 语言发挥到极致? 
  C# 如何在调用控件时做到 Thread-safe(线程安全)? 
  是否有文档支持Java『volatile int i 在执行 i++ 的底层是非原子性的三步』的说法? 
  为什么不能有把中文想法直接转换成电脑程序的编程呢? 
  如何开始学习 Rust 语言? 

前一个讨论
vs2015导入失败,提示未能正确加载解决方案中一个或多个项目,怎么解决?
下一个讨论
为什么在数学中,一些运算的逆运算比原运算难很多?





© 2025-06-22 - tinynew.org. All Rights Reserved.
© 2025-06-22 - tinynew.org. 保留所有权利