Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

PhilRM

Gründer

  • "PhilRM" is male

Posts: 867

Date of registration: Dec 9th 2001

Location: Hannover

Occupation: äh... :)

21

Friday, December 3rd 2004, 6:20pm

Quoted

Original von Lucky
Number x = new Integer(Integerzahl);


Quoted

Original von Lucky
Aber wenn ich doch eine Number bekomme, die Prozedur zur Umwandlung aber Integer erwartet, dann aber sogar einen String ausspuckt, der wiederum in ein Number umgewandelt werden muss, weil es das Feld so erwartet, kann ich mir nicht Vorstellen, das Eure Lösung kürzer wäre


Der Punkt ist - im Bezug auf deinen obigen Post - dass du bis auf den Aufruf überladener Methoden keine Upcasts brauchst, und damit auch nicht aus einem Integer ein Number erzeugen musst. Wenn Number erwartet wird, kannst du auch einen beliebige Subtype von Number zuweisen.
"Sie haben also einen, äh, einen Master of Bachelor?" (Human Resources, T-Systems, Cebit)

Shadow

... mit bunten Sternchen und so

  • "Shadow" is male

Posts: 838

Date of registration: Dec 21st 2001

Location: Hamburg

22

Saturday, December 4th 2004, 12:57am

Quoted

Original von Lucky
Ich möchte nicht diese Zahl einfach nochmal auf dem ergebnisfeld angezeigt haben, sondern sie vorher umwandeln. Zum Beispiel möchte ich sie in eine Binärzahl umwandeln und dann ausgeben. Das funktioniert mit dem folgendem Befehl:


Leute, gewöhnt euch doch mal an, die mitgelieferte Doku zu lesen:

Quoted

public class IntegerField extends RadixNumberField


Und in RadixNumberField:

Quoted

setRadix
public void setRadix(int radix)Sets the radix to the given value.


Parameters:
radix - the radix


2 Minuten Doku lesen sparen machmal ein paar Stunden Arbeit...

Jens
"Man hält die Erzeugung von Information für ein Zeichen von Intelligenz, während in Wirklichkeit das Gegenteil richtig ist: Die Reduktion, die Auswahl der Information ist die viel höhere Leistung."
-- Heinz Zemanek

Lucky

Erfahrener Schreiberling

  • "Lucky" is male

Posts: 449

Date of registration: Oct 17th 2003

Location: Dresden

Occupation: Um ein bißchen mehr Ahnung zu haben als andere

23

Saturday, December 4th 2004, 3:23am

Quoted

Original von PhilRM

Quoted

Original von Lucky
Number x = new Integer(Integerzahl);


Quoted

Original von Lucky
Aber wenn ich doch eine Number bekomme, die Prozedur zur Umwandlung aber Integer erwartet, dann aber sogar einen String ausspuckt, der wiederum in ein Number umgewandelt werden muss, weil es das Feld so erwartet, kann ich mir nicht Vorstellen, das Eure Lösung kürzer wäre


Der Punkt ist - im Bezug auf deinen obigen Post - dass du bis auf den Aufruf überladener Methoden keine Upcasts brauchst, und damit auch nicht aus einem Integer ein Number erzeugen musst. Wenn Number erwartet wird, kannst du auch einen beliebige Subtype von Number zuweisen.


nein, das geht nicht. er erwartet number und wenn ich ihm ein Integer zuweise, bekomme ich eine Fehlermeldung! Kannste gerne ausprobieren...
no risk no fun, no brain no pain nor gain

PhilRM

Gründer

  • "PhilRM" is male

Posts: 867

Date of registration: Dec 9th 2001

Location: Hannover

Occupation: äh... :)

24

Saturday, December 4th 2004, 10:22am

Sorry, aber du sprichst hier von den Grundlagen der Objektorientierung. Natürlich geht das.

Source code

1
2
3
4
5
6
7
8
9
class X {
    
    void y(Number z) {}
    
    {
        y(new Integer(0));
    }
 
}


Falls es in deinem konkreten Fall in der Methode "IntegerField.setField()", die ich nicht kenne, nicht geht (d.h. im innern finden Typ-Tests statt), dann ist sie entweder schlecht implementiert oder im APIDOC sollte was über erlaubte Typen stehen (auch in dem Fall ist sie, wenn mans genau nimmt, schlecht implementiert ;))
"Sie haben also einen, äh, einen Master of Bachelor?" (Human Resources, T-Systems, Cebit)

Lucky

Erfahrener Schreiberling

  • "Lucky" is male

Posts: 449

Date of registration: Oct 17th 2003

Location: Dresden

Occupation: Um ein bißchen mehr Ahnung zu haben als andere

25

Saturday, December 4th 2004, 12:23pm

Quoted

Original von PhilRM
Sorry, aber du sprichst hier von den Grundlagen der Objektorientierung. Natürlich geht das.

Source code

1
2
3
4
5
6
7
8
9
class X {
    
    void y(Number z) {}
    
    {
        y(new Integer(0));
    }
 
}


Falls es in deinem konkreten Fall in der Methode "IntegerField.setField()", die ich nicht kenne, nicht geht (d.h. im innern finden Typ-Tests statt), dann ist sie entweder schlecht implementiert oder im APIDOC sollte was über erlaubte Typen stehen (auch in dem Fall ist sie, wenn mans genau nimmt, schlecht implementiert ;))


Darüber möchte ich mir noch keine Meinung machen, ich bin noch in den Anfängen von Java, da bin ich froh, wenn ein Proggi läuft. Aber wenn ich diese Umwandlungen weglasse, funktioniert es nicht, warum auch immer...
no risk no fun, no brain no pain nor gain