0

我正在尝试访问 DefaultHashMap 类,但在 main 方法中出现错误。谁能告诉我是什么问题?

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>();
4

2 回答 2

2

KandV是类型参数,这里需要使用具体类型来替代它们,和使用 . 时一样HashMap

于 2013-05-09T03:14:25.210 回答
-1

K,V 必须是对象您不能使用变量默认值。它是一个java保留字。

您应该阅读有关 java 泛型 http://docs.oracle.com/javase/tutorial/java/generics/why.html

于 2013-05-09T03:17:04.020 回答