我想要一个Fraction类,我可以使用它来封装有关分数的数据和逻辑,但我想让用户选择他们想要使用的大小整数。不幸的是,没有通用的超类仅涵盖这些类:BigInteger, Long, Integer, Short
我会使用Number
,但我不想允许非整数,如浮点数或小数。
我可以这样做吗?
import java.math.BigInteger;
public class Fraction<T> {
private T numerator;
private T denominator;
Fraction(T numerator, T denominator) {
if (!(T == BigInteger.class || T == Long.class || T == Integer.class || T == Short.class)) {
throw new Exception();
}
}
}
我目前得到的错误是T cannot be resolved to a variable
答案 0 :(得分:7)
我要做的只是拥有Fraction<T extends Number>
,但只有私有构造函数,并且返回实例的所有公共方法都特定于其中一种类型。 (所以,理论上,您可以引用Fraction<Float>
,但实际上只能获得引用基于整数的类型的Fraction
实例。)
答案 1 :(得分:0)
您可以检查构造函数,例如
.entry-content,
.entry-summary {
margin-top: 20px;
max-width:1000px;
width: 100%;
float: none; /* i don't know if this affect any thing */
**float: none!important;**
**padding-left:150px !important;**
}
通过这种方式检查两个号码。 然而,这将允许你传递类似10.0的东西,但恕我直言,这没关系。