Domanda

voglio definire una nuova unità distanza in JScience . La sezione "Tutorial" del sito web del progetto porta solo a Javadoc che, pur abbastanza completa, è un po 'troppo densa per me per capire come Io in realtà fare per definire la mia propria unità.

Può fornire un esempio?

Saluti.

Pete

È stato utile?

Soluzione

quest'altra domanda SO sulle unità in Java possono aiutare.

Altri suggerimenti

So che questo è un vecchio post, ma .. ho intenzione di inviare la risposta in ogni modo, forse sarà utile a qualcuno

Al fine di definire un'unità personalizzata in JScience, è necessario estendere la SystemOfUnits di classe e definire qui tutte le vostre unità personalizzate.

Controllare l'exemple sotto (sto definendo l'unità per acri)

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;
   }
}

Si prega di dare un'occhiata a come JSR 363 RI fa questo (il successore di 275 che è stato implementato da JScience 4) https: / /github.com/unitsofmeasurement/unit-ri/blob/master/src/main/java/tec/units/ri/format/SimpleUnitFormat.java

Il sapore di default di SimpleUnitFormat supporta UTF-8, mentre ASCII è per gli ambienti limitati o dispositivi che possono avere alcuna interfaccia grafica o serie limitate di caratteri:

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

Nota, il metodo etichetta () sarà presentato al JSR 363 API nella prossima release candidate per Bozza pubblica. Attualmente fa parte del RI ( https://github.com/unitsofmeasurement/unit-ri , non JScience, anche se può eventualmente migrare verso il nuovo standard, anche in V5)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top