[急]泛型问题求助(数组)

XiaoLaohu 2006-03-24 12:36:02
private T[] elements;
elements = (T[])new Comparable[10];

warning: [unchecked] unchecked cast

虽然可以用没什么问题 但是要求不能有warning.. 怎么办..

我试过用
elements = new Comparable<T>[10];
编译通不过
错误是: generic array creation


到底怎么去掉这个Warning啊…
...全文
171 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
XiaoLaohu 2006-03-24
  • 打赏
  • 举报
回复
?? 哈哈??
XiaoLaohu 2006-03-24
  • 打赏
  • 举报
回复
我不太清楚你这句话的含义“数组是没有泛型的”

我们称它为 array of generic type

@SuppressWarnings("unchecked") 可以让这个不提示.. 但这个不是我需要的方案..
XiaoLaohu 2006-03-24
  • 打赏
  • 举报
回复
sun官方的论坛 好像也在讨论这个 貌似没什么结果

http://weblogs.java.net/blog/dwalend/archive/2005/01/did_i_miss_gene.html
XiaoLaohu 2006-03-24
  • 打赏
  • 举报
回复
我们不讨论Comparable的问题

范例是
class GStack<T> {
private T[] elements;

public GStack() { this(10); }

public GStack(int capacity) {
elements = (T[])new Object[capacity];
}
}

这是课本上的范例 一样有这个Warning 解决了这个 那个也就解决了
interpb 2006-03-24
  • 打赏
  • 举报
回复
数组是没有泛型的

new Comparable()

应该是这个接口的泛型 指明比较的具体类型

interpb 2006-03-24
  • 打赏
  • 举报
回复
好的
XiaoLaohu 2006-03-24
  • 打赏
  • 举报
回复
说错了只要能没有Warning编译通过就行 实现和这两行一样的功能
XiaoLaohu 2006-03-24
  • 打赏
  • 举报
回复
我代码不是贴了么
就这2行

private T[] elements;
elements = (T[])new Comparable[10];

只要能编译通过就行
完整代码不能贴 否则我就会得0分了..
norikos 2006-03-24
  • 打赏
  • 举报
回复
class GStack<T> {
private T[] elements;

public GStack() { this(10); }

public GStack(int capacity) {
elements = (T[])new T[capacity];
}
}
哈哈
interpb 2006-03-24
  • 打赏
  • 举报
回复
把你的代码给我

我马上给你回复
XiaoLaohu 2006-03-24
  • 打赏
  • 举报
回复
"你这里不是数组的泛型吧" 什么意思?
.. 能不能用英文说.. 我们这里都是英文教材 好不容易才把Generic Class翻译成泛型..

这是一个泛型UniqueQueue类代码的一部分..

怎么解决这个Warning?
interpb 2006-03-24
  • 打赏
  • 举报
回复
你这里不是数组的泛型吧
interpb 2006-03-24
  • 打赏
  • 举报
回复
很好办啊
XiaoLaohu 2006-03-24
  • 打赏
  • 举报
回复
晕... 没人回复..

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧