Frage

Ich möchte eine neue Streckeneinheit definieren, in JScience . Der „Tutorial“ der Projekt-Website nur führt zu Javadoc, die zwar ziemlich vollständig, ein wenig zu dicht ist für mich zu begreifen, wie gehe ich eigentlich über meine eigene Einheit zu definieren.

Können Sie ein Beispiel nennen?

Prost.

Pete

War es hilfreich?

Lösung

diese andere Frage SO über Einheiten in Java helfen kann.

Andere Tipps

Ich weiß, das ist eine alte Post, aber .. Ich werde die Antwort sowieso schreiben, vielleicht wird es jemanden nützlich sein

Um eine benutzerdefinierte Einheit in JScience zu definieren, müssen Sie die Klasse SystemOfUnits zu erweitern und zu definieren hier alle Ihre benutzerdefinierten Einheiten.

Überprüfen Sie die exemple unten (Ich bin die Definition der Einheit für 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;
   }
}

haben Sie einen Blick auf, wie JSR 363 RI tut dies (der Nachfolger 275, die von JScience 4 durchgeführt wurde) https: / /github.com/unitsofmeasurement/unit-ri/blob/master/src/main/java/tec/units/ri/format/SimpleUnitFormat.java

Der Standard Geschmack von SimpleUnitFormat unterstützt UTF-8, während ASCII für begrenzte Umgebungen oder Geräte, die keine GUI oder begrenzte Zeichensätze haben:

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

Beachten Sie das Etikett () -Methode für Public Draft zu JSR 363 API in der nächsten Release Candidate eingeführt werden. Derzeit ist es ein Teil der RI ( https://github.com/unitsofmeasurement/unit-ri , nicht JScience, obwohl es auf den neuen Standard schließlich wandern kann auch in V5)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top