我觉得这很丑陋,但这可以帮助我避免重复代码。以下是我想做的事情,但是在Java中是非法的…
您还可以通过使用返回新对象的静态工厂方法来解决此限制:
public static BigFraction valueOf(BigDecimal d){ // computate numerator and denominator from d return new BigFraction(numerator, denominator);}
或者,您可以通过调用私有静态方法为构造函数进行计算来作弊:
public BigFraction(BigDecimal d){ this(computeNumerator(d), computeDenominator(d));}private static BigInteger computeNumerator(BigDecimal d) { ... }private static BigInteger computeDenominator(BigDecimal d) { ... }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)