簡體   English   中英

Oracle JDK 和 OpenJDK 中的字符串實現

[英]String implement in Oracle JDK and OpenJDK

我找到了關於 String 的定義:

Oracle Jdk String extends ObjectOpen Jdkextends Object

當我創建一個具有泛型類型的示例代碼時:

    public void testMethod(Map<String,?> map)
    Map<String,String> tmpMap = new HashMap<String, String>();
    tmpMap.put("Test", "Test");
    testMethod(tmpMap);

它在兩個平台上編譯和運行都沒有任何錯誤。

? Generic是從Object擴展的任何類型

所以我的問題是:

  • 創建 Open Jdk 文檔時出現一些錯誤,或者我對 Java 中的 Generic 或 String 類型有誤解?

也可以看看:

Java 語言規范

Object類是所有其他類的超類(第 8.1.4 節)。

所以一個類聲明為

public class SomeType 

實際上相當於

public class SomeType extends Object 

所以你的 OpenJDK Java 7 鏈接中的String

public final class String implements java.io.Serializable, Comparable<String>, CharSequence

實際上相當於

public final class String extends Object implements java.io.Serializable, Comparable<String>, CharSequence

這樣就滿足了 Oracle 鏈接中的 Javadoc。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM