1

代码似乎微不足道,但我不理解返回值中的一件事:

trait JdbcTemplate {
  def query(psc: PreparedStatementCreator,
            rowMapper: RowMapper): List[_]
}

这里到底是什么List[_]意思?不会使用List[Any]暗示同样的事情吗?我在哪里可以阅读差异?

4

2 回答 2

2

Any是一种特定的、已知的(尽管完全包罗万象)类型。使用下划线作为类型参数是对所谓的“存在类型”的更繁琐和更通用的语法的简写。存在类型是非特定的:他们说至少有一种类型可以去这里。它们是通用量化的对偶,即对更常用的无界类型参数的解释。例如,def method[T](t: T) ...。在此构造中,T可以绑定到任何类型,尽管在实例化该类型的每个位置(每次调用该方法),它都绑定到特定类型。

于 2013-02-08T21:10:38.050 回答
1

鉴于这_意味着您不关心类型并且Any是一切的超类型,两者都是相同的。

于 2013-02-08T20:18:32.567 回答