我怎么能指定匹配字符串和长到一个类型?

将sRAW:

这种情况是我有一个函数,并呼吁Arrays.sort以某种给定的数组。由于Arrays.sort可以排序字符串和长,我想用一个单一的签名,而不是两个String[] arraylong[] array

我想是这样Comparable[],它不会匹配long[]我也试着改变longLong但是装箱和拆箱的过程显著放缓排序。

所以我想知道如果有一种我可以指定两者相匹配?或大致匹配所有支持的类型Arrays.sort

Zabuza:

简短的回答是,你不能。

Comparable是对象/类系统的接口和部分。原语,如long,是不是该系统中,只有其盒装变体的一部分Long

不幸的是,你甚至可以不解决这个使用泛型,因为他们也只适用于类,而不是原语(见为什么不Java泛型支持原始类型?)。

因此,除非项目瓦尔哈拉(值类型)的版本中,您需要为所有的8元可提供硬编码的变体(shortintlongbytecharfloatdoubleboolean)如果你想避免自动装箱,周围也没有办法。

Java的API必须做到这一点。你看的重载方法Arrays#sort对所有相关的原语和班一个泛型重载。从它的文档

sort​(byte[] a)
sort​(char[] a)
sort​(double[] a)
sort​(float[] a)
sort​(int[] a)
sort​(long[] a)
sort​(short[] a)
sort​(Object[] a)
sort​(T[] a, Comparator<? super T> c)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当我增加一个字符,并在Java中的字符串这是怎么回事?

我怎么能一个字符串分隔成列,如果我有多个行和字符串都在SQL不同长度的?

我怎么能转换我的字符串(表示十六进制值)字节?

我怎么能代替值匹配的查询字符串的JSON包装某个键?

合并字母,以形成一个字符串,并与现有的字符串比较?我很新到Java,我怎么能写什么逻辑?

我怎么能确定一个字符串中只包含一个数字吗?

我怎么能压扁一个List <名单<名单<字符串>>>

我怎么能保存一个字符串字节而不丢失信息?

我怎么能算的字符数的字符串值,在阵列内,然后把它比作他人找到最长的一个?

我怎么能说我的字符串模式匹配

我怎么能转换一个for循环进入物流和中间分手呢?

我怎么能指望了多少男性和女性在一个文本文件?

我怎么能一个字符转换成int类型的Java?

Java。getClass()返回一个类,我怎么也可以得到一个字符串?

我的查询字符串的正则表达式仅匹配一个值

我怎么能比较一个char和一个int?

我怎么知道一个字符串中替换了多少个匹配项?

我无法计算另一个字符串中的匹配字符串

我怎么能typedef一个绑定的成员方法,然后使用该类型作为模板参数?

我怎么知道一个函数是否返回字符串或字节?

匹配不等于指定字符串的第一个实例

通过指定子字符串的第一个和最后一个来提取字符串中的子字符串

一个不属于输入语言的字符串怎么能无限循环设置图灵机呢?

我怎么能正则表达式匹配最少字符的字符串?

你怎么能在 C 中获得一个未格式化的可变长度字符串中的所有浮点数?

我怎么能在 kotlin 中拆分字符串

我怎么能猜出已知字符串哈希中缺少的字符?

为什么我会得到一个字符串和一个 Kotlin 值类的类型不匹配?

我有一个格式为“12/Sep/21”的日期字符串。我想将格式更改为“2021-09-12”。我怎么能在python中做到这一点?