以下是一个具有常量泛型的夹紧函数的示例代码:
public class Clamp> {
private final T min;
private final T max;
public Clamp(T min, T max) {
this.min = min;
this.max = max;
}
public T clamp(T value) {
if (value.compareTo(min) < 0) {
return min;
} else if (value.compareTo(max) > 0) {
return max;
} else {
return value;
}
}
public static void main(String[] args) {
Clamp clamp = new Clamp<>(10, 20);
System.out.println(clamp.clamp(5)); // 输出 10
System.out.println(clamp.clamp(15)); // 输出 15
System.out.println(clamp.clamp(25)); // 输出 20
Clamp stringClamp = new Clamp<>("A", "Z");
System.out.println(stringClamp.clamp("B")); // 输出 "B"
System.out.println(stringClamp.clamp("X")); // 输出 "X"
System.out.println(stringClamp.clamp("a")); // 输出 "A"
}
}
在上面的代码中,Clamp
类具有一个构造函数,接受两个参数 min
和 max
,这些参数用于指定夹紧的范围。该类还具有一个 clamp
方法,它接受一个值作为参数,并返回夹紧到范围内的值。在 main
方法中,我们创建了两个不同类型的 Clamp
实例,并分别调用了 clamp
方法来夹紧不同类型的值。
下一篇:编写一个具有多个条件的循环。