Klasse mit short und Byte leuft nicht :-(



  • sry, bin eigentlich c++ programmierer.
    Bei C++ würde dann speicher belegt werden, den man selber freigeben muss. Weis nicht wie es bei Java ist???

    Ist bei Java dann auch speicher belegt den man selber freigeben muss???



  • Speicher wird zwar belegt aber du musst dir als Programmierer keine Sorgen machen.
    Denn der GarbageCollector läuft immer im Hintergrund und gibt Speicher von nicht mehr benötigten Objekten automatisch wieder frei.



  • Ich weiss nicht, in wieweit es sinnvoll ist, zwei neue Objekte zu erzeugen.
    Das frisst dann unnötig speicher je nachdem, wie oft du set() frequentierst!
    Allerdings wüsste ich nicht, was gegen byte als Datentyp spricht! (zeig doch mal deinen Cod)



  • Allso das ist der Aufruf:

    Widerstand WiderstandZero=new Widerstand();
    WiderstandZero.SetFarbe(3,4,3,10);
    

    Die Klasse in gekürzter Form:

    public class Widerstand
    {
    public void SetFarbe(byte ZifferEins, byte ZifferZwei, byte ZifferDrei, int Multipikator)
    {
    	this.Ziffer=ZifferEins*100;
    	this.Ziffer+=ZifferZwei*10;
    	this.Ziffer+=ZifferDrei;
    	this.Multiplikator=Multipikator;
    }
    private double Ziffer;
    private int Multiplikator;
    }
    

    Hoffe hab hab keinen Fehler eingebaut.
    🙂



  • Mach einen Cast:

    Widerstand WiderstandZero=new Widerstand();
    WiderstandZero.SetFarbe( (byte)3, (byte)4, (byte)3, 10);
    

    Schlussendlich wird bei dieser Methode doch wieder mit int gerechnet (und auch noch mit double), sie dürfte längsämer sein, als wenn du direkt int's übergibst...



  • Ja aber wird ja nur multipliziert und dann in einen float gespeichert.
    Das 3 mal.
    Allso byte zu float.
    Bist du sicher das das langsamer ist als int zu float???
    Im Grunde müsste das doch schneller sein (weis es jetzt nicht unbedingt wirklich)

    Aber ich denke ich warte auf weitere Kommentare. Gucken was die anderen sagen.
    Das müsste man mal testen.

    Aber schon mal danke:-)
    mfg
    cya



  • Im Grunde müsste das doch schneller sein (weis es jetzt nicht unbedingt wirklich)

    Wieso sollte ein Cast schneller sein? Nimm doch gleich einen int und fertig. Ich weiss nicht, inwieweit dir die 7 zusätzlichen Byte wehtun der der int mitbringt.
    Aber ich geb JBeni Recht! 🙂



  • Das finde ich schade, das währe ausbaufähig in Java. 😞
    Naja wie gesagt, ich bin ein Minimalist^^ das bringt C++ mit sich.
    8Byte schaden mir nicht aber sag das dem 66Mhz Rechnern 😃 mit 1MB Speicher.
    Naja wenn ihr es sagt mach ich wieder alles auf int umschreiben.

    Danke euch für die Hilfe 🙂



  • Das finde ich schade, das währe ausbaufähig in Java. 😞
    Naja wie gesagt, ich bin ein Minimalist^^ das bringt C++ mit sich.

    Pff, in C++ bringt dir ein dynamic_cast nun aber auch keine Geschwindigkeitsvorteile! So ein Unsinn 🙄



  • :p egal, solang es mir nicht auffällt 😃
    mfg
    cya


Anmelden zum Antworten