2013-11-24 54 views
0

我正在使用泛型創建一個B + Tree類。這裏是我的類聲明和構造函數的開頭:實例化一個使用<Foo的泛型對象擴展吧>

/** 
* B+ Tree generic type 
* 
* @author Sofian Benaissa 
*/ 
public class BplusTree<K extends Comparable<K>,V> 
    { 

    private static int maxKeys = 10; 
    private Node<K> root; 
    private Node<K> currentLeaf; 

    /** 
    * Default Constructor 
    */ 
    public BplusTree() 
    { 
     root = new Node<K>(null, 0); 
     currentLeaf = root; 
    } 

我創建了一個要點與該類這裏的完整源代碼:https://gist.github.com/sfyn/7622365

接下來我想在另一個文件中實例化這個類。這條線:

private BplusTree<String><String>; 

隨後這條線在構造函數中:編譯時

bptree = new BplusTree<String><String>(); 

拋出這些錯誤:

src/FileParser.java:30: error: <identifier> expected 
     private BplusTree<String><String> bptree; 
           ^
src/FileParser.java:30: error: <identifier> expected 
     private BplusTree<String><String> bptree; 
            ^
src/FileParser.java:30: error: <identifier> expected 
     private BplusTree<String><String> bptree; 
              ^
src/FileParser.java:39: error: '(' or '[' expected 
       bptree = new BplusTree<String><String>(); 
              ^
src/FileParser.java:39: error: illegal start of expression 
       bptree = new BplusTree<String><String>(); 
                ^
5 errors 

回答

4

語法

private BplusTree<String><String> bptree; 

不正確。

正確的語法的類型參數

private BplusTree<String, String> bptree = new BplusTree<String, String>(); /* or new BplusTree<>(); in Java 7 */ 
+0

新手錯誤Java中的一個逗號分隔的列表,我敢打賭。 – sfyn

+0

@sfyn當您收到編譯錯誤時,通常會出現類型不匹配或語法錯誤。 –

相關問題