如何从Java语言规范中读取特定的表示法

时间:2012-02-10 20:29:59

标签: java notation

在阅读Java语言规范时,我发现了一些我无法理解的符号。例如这一个

设C是一个类型声明(§4.12.6,§8.1,§9.1),具有零个或多个类型参数(§4.4)F1,...,Fn,它们具有相应的边界B1,...,Bn。该类型声明定义了一组参数化类型(第4.5节)C2,其中每个参数类型Ti都在所有类型的范围内,这些类型是相应边界中列出的所有类型的子类型。也就是说,对于Bi中的每个束缚型Si,Ti是Si的子类型[F1:= T1,...,Fn:= Tn]。

什么是Si [F1:= T1,...,Fn:= Tn]?怎么看?有人知道吗?感谢...

3 个答案:

答案 0 :(得分:1)

相同的规范描述了第2章中的符号。

答案 1 :(得分:1)

请参阅此错误thread。特别是这句话准确地解释了你的要求:

  

因此,给定一个泛型类型声明C,类型C只在当前形成良好   如果T1<:B1,T2<:B2 ... Tn<:Bn。

希望它能让你更好地理解。

基本上,符号本身告诉您每个参数类型Fi实际上都分配给子类型Ti。

答案 2 :(得分:0)

这是当前的Java规范:

http://download.oracle.com/otn-pub/jcp/jls-7-mr3-fullv-oth-JSpec/JLS-JavaSE7-Full.pdf

我找不到您上面引用的参考文献。

如果不了解您引用的段落所说的内容,我们无法更好地解释符号。

我最好的猜测是:

  • 每个Java“方法”都有一个“签名”列出该函数的参数

  • 每个论点都有一个“类型”(例如“T1”),它是合法值的“有界范围”(例如“B1..BN”)。

我建议你看看第4章:“类型,值和变量”。