小编les*_*mal的帖子

Java泛型和数组类型,不是你想的(例如来自泛型类型的数组)

我试图指定一个泛型类必须是一个数组,或者更好的是一个原始数组.到目前为止,这是我的工作:

interface Foo<T> {
  void process( T data );
}

public class Moo implements Foo<int[]> {
  void process( int[] data ) {
     // do stuff here
  }
}
Run Code Online (Sandbox Code Playgroud)

这是完全有效的Java代码并且有效,因为原始数组扩展了Object.请注意,这个问题我一直在寻找的所有其他Java数组通用问题完全不同.在那种情况下,人们希望用泛型类型创建一个数组.

问题是类型T可以是扩展Object的任何东西.我想要的是做一些像:

<T extends ONLY ARRAYS>
Run Code Online (Sandbox Code Playgroud)

要么

<T extends ONLY PRIMITIVE ARRAYS>.
Run Code Online (Sandbox Code Playgroud)

那可能吗?

编辑:最终目标是对传入的数组类型添加编译时检查.现在可以传入任何旧对象,它将编译得很好.只有在抛出类转换异常时才会在运行时发现错误.事实上,这是Java中泛型的全部要点,以增加更强大的编译时类型检查.

java generics

16
推荐指数
2
解决办法
2118
查看次数

获取安装在/ dev文件夹中的USB设备的唯一序列号

我将2个网络摄像头连接到计算机,它被列在/ dev文件夹中:/ dev/video0; 的/ dev/VIDEO1.

你能帮我写C代码来获取输入的网络摄像头序列号:/ dev/video [0; 1]

linux ubuntu webcam serial-number

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

标签 统计

generics ×1

java ×1

linux ×1

serial-number ×1

ubuntu ×1

webcam ×1