<dependency> <groupId>javax.measure</groupId> <artifactId>javax.measure-api</artifactId> <version>1.0</version> </dependency> import javax.measure.Unit; import javax.measure.quantity.Length; import tec.units.ri.AbstractUnit; public class NewUnit extends AbstractUnit<Length> implements Unit<Length> { } import javax.measure.spi.QuantityFactory; import javax.measure.Unit; import javax.measure.quantity.Length; import org.osgi.service.component.annotations.Component; import tec.units.ri.format.SimpleUnitFormat; @Component public class CustomUnitFactory implements QuantityFactory<Length> { public static final Unit<Length> NEW_UNIT = AbstractUnit.ONE.alternate("NewUnit"); static { SimpleUnitFormat.getInstance().label(NEW_UNIT, "New Unit"); } @Override public Unit<Length> getSystemUnit() { return NEW_UNIT; } } import javax.measure.Unit; import javax.measure.quantity.Length; import javax.measure.quantity.Time; import tec.units.ri.quantity.Quantities; import tec.units.ri.unit.Units; public class Main { public static void main(String[] args) { Unit<Length> newUnit = CustomUnitFactory.NEW_UNIT; Unit<Time> hour = Units.HOUR; Quantity<Length> length = Quantities.getQuantity(10, newUnit); Quantity<Length> kilometer = length.to(Units.KILOMETRE); Quantity<Length> distance = Quantities.getQuantity(100, kilometer); Quantity<Time> time = Quantities.getQuantity(2, hour); Quantity<Speed> speed = distance.divide(time).asType(Speed.class); } }


上一篇:
下一篇:
切换中文