java int泛型,在java中将泛型参数转换为int,只要它是一个数字

Here's what I've been trying to do, in a nutshell:

class example

{

private int function(T number)

{

int x = (int) number;

...

}

...

}

Basically, I'm trying to make it so that T is a number so I can convert it to an int inside that function. The problem is that I'm getting an "incovertible types" error, so I must be doing something wrong.

解决方案

Considering that the abstract class Number is the superclass of classes

* BigDecimal, BigInteger,

* Byte, Double, Float,

* Integer, Long, and Short...

if you want to have an int representation, you should use the .intValue() function.

If that is what you want to do.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用泛型来编写一个针对 int 型数组、float 型数组、double 型数组求平均值的功能类。以下是一个示例代码: ```java public class Average<T extends Number> { private T[] array; public Average(T[] array) { this.array = array; } public double getAverage() { double sum = 0; for (T num : array) { sum += num.doubleValue(); } return sum / array.length; } public static void main(String[] args) { Integer[] intArray = {1, 2, 3, 4, 5}; Average<Integer> intAverage = new Average<>(intArray); System.out.println("Int array average: " + intAverage.getAverage()); Float[] floatArray = {1.0f, 2.0f, 3.0f, 4.0f, 5.0f}; Average<Float> floatAverage = new Average<>(floatArray); System.out.println("Float array average: " + floatAverage.getAverage()); Double[] doubleArray = {1.0, 2.0, 3.0, 4.0, 5.0}; Average<Double> doubleAverage = new Average<>(doubleArray); System.out.println("Double array average: " + doubleAverage.getAverage()); } } ``` 在上面的代码中,我们使用了泛型类 `Average` 来封装求平均值的功能。该类使用了泛型 `T`,并使用 `extends` 来限定 `T` 必须是 `Number` 的子类。这样,我们就可以在方法中使用 `T` 类型的数值了。 在 `Average` 类中,我们定义了一个数组 `array`,并在构造方法中将传入的数组赋值给它。然后我们实现了一个 `getAverage` 方法,用于计算数组中所有数值的平均值。在 `getAverage` 方法中,我们使用了一个增强型的 for 循环来遍历数组中的所有元素,并将它们的值累加到变量 `sum` 中。最后,我们将 `sum` 除以数组长度,即可得到平均值。 在代码的 `main` 方法中,我们分别创建了一个 `Integer` 数组、一个 `Float` 数组和一个 `Double` 数组,并分别使用 `Average` 来计算它们的平均值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值