gpt4 book ai didi

Java泛型数组操作

转载 作者:行者123 更新时间:2023-11-30 02:17:51 26 4
gpt4 key购买 nike

我有一个 Vector 泛型类,其中包含一个数组,其中包含类型 T 的元素,并且我希望在我的数组中进行 vector 加法(对于 int、double、float,...当然不是 boolean 值,...)类,但我不能执行“array_vector[i]”,如何在不知道类型的情况下使用运算符?

 public class vector<T> {
private T[] array_vector;

public vector(){
this.array_vector = null;
}

public vector(T[] array_p){
this.array_current = array_p;
}

public void vectorAddition(T[] array_other){
if(this.array_vector.length == array_other.length){
for(int i=0; i<this.array_vector.length ; i++){
this.array_vector[i] += array_other[i];
}
}
}

}

最佳答案

你不能直接这样做;您需要 BinaryOperator<T> 的实例:

this.array_vector[i] = binaryOperator.apply(this.array_vector[i], array_other[i]);

例如:

BinaryOperator<Double> = (a, b) -> a + b;
BinaryOperator<Integer> = (a, b) -> a + b;

将其中之一传递到 vector 的构造函数中,例如

public vector(BinaryOperator<T> binaryOperator, T[] array_p){
// assign to a field.
}

关于Java泛型数组操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47750855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com