2013-05-09 5 views
0

Я пытаюсь получить доступ к классу DefaultHashMap, но получаю ошибку в основном методе. Может кто-нибудь, пожалуйста, скажите мне, в чем проблема?Как я могу создать экземпляр класса DefaultHashMap

import java.util.Random; 
import java.util.*; 


public class PythonToJava { 


    public static void main(String[] args) { 


     Random rm = new Random(); 

     int i = rm.nextInt(1000); 

     HashMap<Integer,Integer> stats = new HashMap<Integer,Integer>(); 

     DefaultHashMap<K,V> default = new DefaultHashMap<K,V>(); 

     System.out.println("Random Number Generated is: " + i); 

       for (int j = 0; j<i; j++){ 

        int value = rm.nextInt(500); 

        System.out.println("The value of VALUE is " + value); 


       } 


    } 

} 

class DefaultHashMap<K,V> extends HashMap<K,V> { 
     protected V defaultValue; 
     public DefaultHashMap(V defaultValue) { 
     this.defaultValue = defaultValue; 
     } 
     @Override 
     public V get(Object k) { 
     V v = super.get(k); 
     return ((v == null) && !this.containsKey(k)) ? this.defaultValue : v; 
     } 
    } 

Пожалуйста, помогите мне в исправлении ошибки Я сталкиваюсь в соответствии с кодом:

DefaultHashMap<K,V> default = new DefaultHashMap<K,V>(); 
+0

http://docs.oracle.com/javase/tutorial/java/generics/types.html –

ответ

2

K и V являются параметры типа, и здесь, вам нужно использовать конкретные типы в замените их, так же, как при использовании HashMap.

+0

ли звучит это утверждение хорошо? 'DefaultHashMap defaultvalue = new DefaultHashMap ();' – Tan

+0

Параметры являются параметрами типа, поэтому он должен быть вместо (если значение имеет тип int или Integer). –

+0

Спасибо за ваш ответ. Я обновил код следующим образом 'class DefaultHashMap extends HashMap { \t protected Integer defaultValue; \t public DefaultHashMap (Integer defaultValue) { \t this.defaultValue = defaultValue; \t} \t \t @Override общественное целое получают (Объект к) { \t Целое число v = super.get (к); \t return ((v == null) &&! This.containsKey (k))? this.defaultValue: v; \t} } 'но все еще получаю ошибку в первой строке, которая является' class DefaultHashMap extends HashMap {' – Tan

Смежные вопросы