簡體   English   中英

為什么Java無法初始化集合對象?

[英]why java is unable to initialize a set object?

package generics_practice_test;
import java.util.Set;
public class Main {

    public static void main (String args[])
    {
        Set<String> set = new Set<String>();// set object cannot be initialized
    }
}

set對象不能用Java初始化,但是當我用HashSet替換Set並導入java.util.HashSet並使用代碼Set<String> set = new HashSet<String> ,代碼便可以工作。 我想請問為什么。

Set是一個接口,而接口本質上是抽象的,因此您無法實例化它。 您需要使用Set接口的實現類,例如HashSet

改變這個

    Set<String> set = new Set<String>();// set object cannot be initialized

    Set<String> set = new HashSet<String>();

set是Java中的接口,因此您無法創建它的對象

Set是Java中的interface ,而您不能使Java成為接口的Object。

而是使用以下方法:

Set<String> set = new HashSet<String>(); //HashSet is a subclass of Set interface

注意: 使用接口作為類型

Set是一個interface ,您不能初始化它,您必須使用實現它的具體類

java.util.EnumSet
  java.util.HashSet
    java.util.LinkedHashSet
    java.util.TreeSet

暫無
暫無

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

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