Question

Je veux définir une nouvelle unité de distance JScience . La section « Tutorial » du site Web du projet conduit juste Javadoc qui, tout en étant assez complet, est un peu trop dense pour moi de comprendre comment je vais en fait de définir ma propre unité.

Pourriez-vous donner un exemple?

Vive.

Pete

Était-ce utile?

La solution

peut-être cette autre question SO sur les unités en Java peuvent aider.

Autres conseils

Je sais que c'est un ancien poste, mais .. je vais poster la réponse de toute façon, ce sera peut-être utile à quelqu'un

Pour définir une unité de mesure dans JScience, vous devez étendre la SystemOfUnits de classe et de définir ici toutes vos unités personnalisées.

Vérifier l'exemple ci-dessous (je définition de l'unité pour ACRES)

public class MyUnits extends SystemOfUnits 
{
   private static HashSet<Unit<?>> UNITS = new HashSet();

   private static final MyUnits INSTANCE = new MyUnits();

   public static final Unit<Area> ACRE = myUnits((SI.METER.pow(2)).times(4046.8564224).asType(Area.class));

   public static MyUnits getInstance()
   {
      return INSTANCE;
   }    

   @Override
   public Set<Unit<?>> getUnits()
   {
      return Collections.unmodifiableSet(UNITS);
   }

   private static <U extends Unit<?>> U myUnits(U unit)
   {
      UNITS.add(unit);
      return unit;
   }
}

S'il vous plaît jeter un oeil à la façon dont JSR 363 RI le fait (le successeur de 275 qui a été mis en œuvre par JScience 4) https: / /github.com/unitsofmeasurement/unit-ri/blob/master/src/main/java/tec/units/ri/format/SimpleUnitFormat.java

Le goût par défaut de SimpleUnitFormat prend en charge UTF-8, alors que ASCII est pour les environnements ou certains périphériques qui peuvent avoir aucune interface graphique ou jeux de caractères limités:

DEFAULT.label(MetricPrefix.MICRO(Units.LITRE), "µl"); ASCII.label(MetricPrefix.MICRO(Units.LITRE), "microL");

Note, l'étiquette méthode () sera introduit à JSR 363 API dans la prochaine version candidate pour Projet public. il est actuellement partie du RI ( https://github.com/unitsofmeasurement/unit-ri , pas JScience, même si elle peut éventuellement migrer vers la nouvelle norme aussi dans V5)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top