Nous utilisons le grand cadre unit-of-measurement pour gérer les unités dynamiquement. J'ai l'obligation de filtrer une liste d'unités par quantité. Par exemple. afficher toute la masse (tonne, kg ....). La liste aboutit à une liste de capture générique (ce qui n'est pas idéal - je sais). Les informations génériques n'existent pas à l'exécution (uniquement au moment de la compilation). Cependant, pour l'interface unit une implémentation existe pour vérifier la compatibilité existe:filtre de l'unité de mesure par quantité
booléenne isCompatible (unité qui);
@Test public void testCompatible_ByUnit(){ Unit<Mass> kilogram = Units.KILOGRAM; Unit<Mass> tonne = NonSI.TONNE; assertTrue(kilogram.isCompatible(tonne)); }
Y at-il une interface pour vérifier la compatibilité par quantity?
Exemple non-fonctionnel avec la quantité Mass.
@Test
public void testCompatible_FilterByQuantityAndCapture(){
Unit<?> kilogram = Units.KILOGRAM;
// wish: interface does not exist
assertTrue(kilogram.isCompatible(Mass.class));
}
Merci - la solution de contournement avec l'unité par défaut (ou système) pour la quantité me fonctionne. – itstata
J'essaye l'approche getUnits() avec le 'METRE' de la bibliothèque d'uom-ri pour récupérer essentiellement une liste d'unités dimensionnées en longueur, et continuer à obtenir des ensembles vides: ' Set extends Unité >> units = system.getUnits (METRE.getDimension()); ' Des conseils sur la façon dont j'utilise abusivement l'API? J'ai vraiment besoin de cela pour une interface utilisateur pour entrer/mettre à jour des quantités. Merci! – arpieb
Merci d'avoir signalé cela. Avez-vous utilisé l'implémentation RI ou Java SE? Nous essaierons de le répliquer et de dire comment changer l'appel ou, si nécessaire, corriger les problèmes. –