相关疑难解决方法(0)

Java泛型(通配符)

我有几个关于Java中通用通配符的问题:

  1. List<? extends T>和之间有什么区别List<? super T>

  2. 什么是有界通配符,什么是无界通配符?

java generics bounded-wildcard

106
推荐指数
3
解决办法
7万
查看次数

使用通配符和通配符的问题

我有一个方法,返回map定义为:

public Map<String, ?> getData();
Run Code Online (Sandbox Code Playgroud)

这个方法的实际实现对我来说并不清楚,但是,当我尝试这样做时:

obj.getData().put("key","value")
Run Code Online (Sandbox Code Playgroud)

我得到以下编译时错误消息:

方法put(String,capture#9-of?)在Map类型中不适用于参数(String,String)

问题是什么?是String不是输入任何内容?

提前致谢.

java generics arguments wildcard map

11
推荐指数
3
解决办法
1万
查看次数

Java Map编译器错误与泛型

// I know that this method will generated duplicate 
// trim keys for the same value but I am just
// trying to understand why we have a compile error:
// The method put(String, capture#11-of ?) in the type
// Map<String,capture#11-of ?> is not applicable for the arguments
// (String, capture#12-of ?)

void trimKeyMap(Map<String, ?> map){
  for (String key : map.keySet()) {
    map.put(StringUtils.trim(key), map.get(key)); // compile error
  }
}
Run Code Online (Sandbox Code Playgroud)

为什么我们想要的价值 map.get(key)来自不同的类型?

java generics map

3
推荐指数
1
解决办法
1236
查看次数

Java Generics&jOOQ - 如何创建一个jOOQ列的HashMap到另一个

我有一个界面

public interface HistoryDao<B extends UpdatableRecord<B>, H extends UpdatableRecord<H>> extends TableDao<H>{
    default void saveHistoryForIds(List<Integer> ids) {
        HashMap<? extends TableField<H, ? extends TableField<H, ? extends Serializable>>, ? extends TableField<B, ? extends TableField<B, ? extends Serializable>>> mappings = setUpHistoryMapping();

        List<? extends TableField<H, ? extends Serializable>> tableFields = new ArrayList<>(mappings.keySet());

        ArrayList<H> hs = new ArrayList<>();
        jooq()
            .insertInto(table(), tableFields);

    }

    HashMap<? extends TableField<H, ? extends TableField<H, ? extends Serializable>>, ? extends TableField<B, ? extends TableField<B, ? extends Serializable>>> setUpHistoryMapping();
}
Run Code Online (Sandbox Code Playgroud)

(TableDao是一个界面,但它不是非常重要)

在我的具体课程中,我尝试实施

MyClassHere implements …
Run Code Online (Sandbox Code Playgroud)

java inheritance jooq

2
推荐指数
1
解决办法
329
查看次数