我有一些代码使用 javax.measure API 来计算被跟踪资产的速度。我将 Quantity 对象作为值传递给 JTable 渲染器,通用参数 (Speed) 已被删除。即使有 Speed 参数,我也无法对此进行反思以确定 Quantity 的类型。如何确定数量是速度?当它是速度时,我想以不同的方式呈现值。我目前有滥用 asType() 方法的代码,但这似乎不应该如何使用 API。
// FIXME: This seems hokey. There should be a better way.
public static <C extends Quantity<C>> boolean isOfType(final Quantity<?> q, final Class<C> c) {
try {
q.asType(c);
return true;
} catch (final ClassCastException e) {
return false;
}
}
public static boolean isSpeed(final Quantity<?> q) {
return isOfType(q, Speed.class);
}