相关疑难解决方法(0)

使用显式类型参数调用静态导入的方法

这是我的问题的后续跟进:奇怪的Java泛型.

如果我有这样的代码:

Casts.<X, T> cast(iterable[index]);
Run Code Online (Sandbox Code Playgroud)

我可以添加静态导入并执行:

<X, T> cast(iterable[index]);
Run Code Online (Sandbox Code Playgroud)

Eclipse不允许这样做.但是在Eclipse中看到如此多的静态导入错误后,我并不确定.

java generics

25
推荐指数
3
解决办法
5328
查看次数

Java泛型在Eclipse中编译,但不在javac中编译

我必须发现我的项目中有Java代码,它在Eclipse中编译并运行良好,但在javac中抛出了编译错误.

一个独立的片段:

import java.util.HashSet;
import java.util.Set;

public class Main {

    public static void main(String[] args) {
    Set<Integer> setOfInts = new HashSet<Integer>();
    Set<Object> setOfObjects = covariantSet(setOfInts);
    }

    public static <S, T extends S> Set<S> covariantSet(Set<T> set) {
    return new HashSet<S>(set);
    }

}
Run Code Online (Sandbox Code Playgroud)

在javac中编译返回:

Main.java:10: incompatible types
found   : java.util.Set<java.lang.Integer>
required: java.util.Set<java.lang.Object>
    Set<Object> setOfObjects = covariantSet(setOfInts);
                                           ^
Run Code Online (Sandbox Code Playgroud)

此错误现在阻止在Maven中构建项目.由于Eclipse编译器构建得更宽容,我现在必须假设片段的定义和用法如上所述,静态方法是无效的Java?

java eclipse compiler-construction generics javac

15
推荐指数
2
解决办法
2612
查看次数

如何使用JAXB实例化一个空元素

我使用JAXB来创建XML消息.我需要创建的XML(为了简单起见):

<request>
  <header/>
</request>
Run Code Online (Sandbox Code Playgroud)

我的代码看起来像这样:

import javax.xml.bind.annotation.*;

@XmlRootElement(name = "request")
public class Request {

    private String header;

    @XmlElement(required=true)
    public String getHeader() {
      return header;
    }

    public void setHeader(String header) {
      this.header=header;
    }
}
Run Code Online (Sandbox Code Playgroud)

问题:header元素未显示(标题为null).当标头设置为空字符串时,将显示以下内容:

<request>
  <header></header>
</request>
Run Code Online (Sandbox Code Playgroud)

当我用作类型Object代替时String,结果更糟:

<request>
  <header xsi:type="xs:string" 
   xmlns:xs="http://www.w3.org/2001/XMLSchema" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></header>
</request>
Run Code Online (Sandbox Code Playgroud)

BTW:我正在使用此代码来创建XML字符串.

是否有可能得到一个空标签?

java xml jaxb

9
推荐指数
2
解决办法
2万
查看次数

没有参数的通用方法

我创建一个没有参数的泛型方法,有些东西像:

private <T> TableCell<T> createTableCell(){
return new TableCell<T>();
}
Run Code Online (Sandbox Code Playgroud)

那么,在我的程序中,如何为具体类型调用此方法?

java generics

8
推荐指数
2
解决办法
4761
查看次数

奇怪的Java通用

这是什么意思?

HashBiMap<Character, Integer> charOcc = HashBiMap.<Character, Integer> create();
Run Code Online (Sandbox Code Playgroud)

java generics

6
推荐指数
2
解决办法
1041
查看次数

标签 统计

java ×5

generics ×4

compiler-construction ×1

eclipse ×1

javac ×1

jaxb ×1

xml ×1