有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何从Java语言规范中读取特定符号

在阅读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) 个答案

  1. # 1 楼答案

    看到这个bug了吗thread。尤其是这句话,它准确地解释了你的要求:

    So, given a generic type declaration C a type C is well formed if and only if T1 <: B1, T2 <: B2 ... Tn <: Bn.

    希望它能让你更好地理解

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

  2. # 2 楼答案

    以下是当前的Java规范:

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

    我找不到你上面引用的参考资料

    由于不知道你所引用的段落所说的是什么,我们无法更好地解释这个符号

    我最好的猜测是:

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

    • 每个参数都有一个“类型”(例如“T1”),它是法律值的“有界范围”(例如“B1..BN”)

    我鼓励大家看看第4章:“类型、值和变量”

  3. # 3 楼答案

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