Methodenparameter zur Compile-Zeit überprüfen

Thalles

Mitglied
Hallo an alle,

gibt es eigentlich in Java eine Möglichkeit einen einfachen Methodenparameter wie einen Integer auf seinen Wert zu überprüfen und dann zur Compile-Zeit einen Fehler zu anzuzeigen? Z. B. mit Annotations?

Wie man es zur Laufzeit macht ist mir klar, aber ich schreibe gerade eine API und ich will, dass der Programmierer der meinen Code benutzt schon beim schreiben des Programmes einen Fehler angezeigt bekommt.

Also z.B in folgender Methode sollte überprüft werden, dass der Wert von divisions über 0 ist.
Java:
public void setDivisions(int divisions) {
		...
}

Vielen Dank schon mal im voraus!

Tschüß Thalles
 

madboy

Top Contributor
Was Maki meint: Geht nicht, wie du dir das vorstellst. Wo her soll ein Compiler wissen, was z.B. ein Benutzer eingibt oder aus einer Datei gelesen wird?
 

Thalles

Mitglied
Was Maki meint: Geht nicht, wie du dir das vorstellst. Wo her soll ein Compiler wissen, was z.B. ein Benutzer eingibt oder aus einer Datei gelesen wird?

Könnte der Java-Compiler nicht mittels einer Annotation, die sich auf dem übergebenen Parameter bezieht, checken ob der übergebene Parameter eine bestimmte Größe hat (im Fall von einem Integer)?

Ich weiß, dass zum z. B. bei Google GUICE folgendes möglich ist:
Java:
public class PayPalCreditCardProcessor implements CreditCardProcessor {
  private final String apiKey;

  @Inject
  public PayPalCreditCardProcessor(@Named("PayPal API key") String apiKey) {
    this.apiKey = apiKey;
  }
Quelle: JustInTimeBindings - google-guice - Bindings that are created automatically by Guice - Project Hosting on Google Code

Wobei zur Compile-Zeit der Wert von "apiKey" mit einem in einer Konfigurationsklasse definierten Wert ersetzt wird.

Thalles
 
M

maki

Gast
Denk doch mal drüber nach ;)

Wenn der Wert nur dynamisch gesetzt wird(Zählvariable in einer Schleife, DB Daten, Benutzereingaben, etc. pp.), existiert er zur Compilezeit nicht, da kann nix geprüft werden.

Da was du willst geht nur in sehr kleinem Rahmen, nämlich da, wo die Werte schon zur Compilezeit bekannt sind, und das ist eher die Ausnahme.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Reflection bei Arrays als Methodenparameter Allgemeine Java-Themen 3
J .java-Dateitext Compile zur Laufzeit ohne File Allgemeine Java-Themen 15
H Pattern.compile Syntax Allgemeine Java-Themen 15
N C source to Java Source -> compile java layer? Allgemeine Java-Themen 9
F Zeit Optimierung - bzw. ms Optimierung Allgemeine Java-Themen 35
J Message Box soll bei bestimmter Zeit angezeigt werden Allgemeine Java-Themen 19
K CET-Zeit benutzen Allgemeine Java-Themen 6
K Geschätze Zeit implementieren Allgemeine Java-Themen 14
Blender3D AWT Fehlerhafte Zeit bei Calender und Date DateFormat Allgemeine Java-Themen 8
2 Joda Time - Localtime mit anderer Zeit vergleichen? Allgemeine Java-Themen 1
O Java Hardware Software Zeit Allgemeine Java-Themen 7
H Bestimmte Aufgaben zur bestimmter Zeit/ in bestimmten Intervallen Allgemeine Java-Themen 3
F Zeit ermitteln Allgemeine Java-Themen 2
Q Zeit in GUI selbst aktualisieren Allgemeine Java-Themen 5
D Klassen Zeit aus NMEA-Stream in SimpleDateFormat Allgemeine Java-Themen 17
M AudioClip in Spiel mehrfach in kurzer Zeit abspielen Allgemeine Java-Themen 3
N java.util.Date - Zeit auf 00:00 setzen Allgemeine Java-Themen 3
R Raum und Zeit Allgemeine Java-Themen 11
S Zeit Allgemeine Java-Themen 4
Z zeit zwischen maus drücken und loslassen Allgemeine Java-Themen 7
J Lizenz auf Zeit Allgemeine Java-Themen 8
X Codeabarbeitung innerhalb des Hauptprogramms für bestimmte Zeit unterbrechen Allgemeine Java-Themen 2
prakdi Zeit zum Durchlauf der Schleifen unverständlich!? Allgemeine Java-Themen 3
A JavaVM Zeit Windows 7 Allgemeine Java-Themen 9
T Zeit von einem Server/Webseite auslesen und in eigener GUI anzeigen Allgemeine Java-Themen 6
C Leerzeilen verbrauchen Zeit! Allgemeine Java-Themen 5
J Datum und Zeit Allgemeine Java-Themen 4
data89 Zeit-Diagramm erstellen Allgemeine Java-Themen 11
G JComboBox getSelectedItem Zeit Allgemeine Java-Themen 5
Kr0e Sekunden -> Zeit Allgemeine Java-Themen 14
T Mit Datum und Zeit rechnen Allgemeine Java-Themen 8
B System CPU Zeit / Last auslesen Allgemeine Java-Themen 2
J zeit überscheidungen ermitteln Allgemeine Java-Themen 6
P Thread Demonstrationr eist durch die Zeit Allgemeine Java-Themen 4
A Compilierdatum/Zeit in Code eingenerieren Allgemeine Java-Themen 13
Kidao Wie ordne ich die aktuelle Zeit in einer Zeitreihe eine? Allgemeine Java-Themen 6
J zeit stoppen Allgemeine Java-Themen 11
M Zeit eines rechners im netzwerk ermitteln Allgemeine Java-Themen 6
B Aktuelle Zeit im Format YYYY-MM-DD HH-MM-SS in Logfile schre Allgemeine Java-Themen 8
C Umrechnung der Zeit Allgemeine Java-Themen 8
B 2 JList instanzen wo nur einer zur selben Zeit selektierbar? Allgemeine Java-Themen 8
I Thread eine bestimmte Zeit zur Ausführung geben Allgemeine Java-Themen 2
P Zeit messen Allgemeine Java-Themen 16
M Zeit läuft rückwärts Allgemeine Java-Themen 3
K Thread Safe Zeit Messung Allgemeine Java-Themen 2
D Programmunterbrechung für eine bestimmte Zeit (Millisikunden Allgemeine Java-Themen 10
K ServerSocket benötigt unmengen an Zeit Allgemeine Java-Themen 7
D Zeit messen Allgemeine Java-Themen 2
G try auf zeit Allgemeine Java-Themen 8
R Garbage Collector rennt die ganze Zeit Allgemeine Java-Themen 7
M Fortschritt: verbleibende Zeit errechen. Allgemeine Java-Themen 2
F Zeit errechnen mit GregorianCalendar Allgemeine Java-Themen 8
F vergangene Zeit berechnen Allgemeine Java-Themen 6
A Unix Zeit Allgemeine Java-Themen 2
D Datum und Zeit - Date, Calendar oder GregorianCalender ? Allgemeine Java-Themen 13
X Parameter bei Start über Batch-Datei übergeben(Tag und Zeit) Allgemeine Java-Themen 3
C Vergangene Zeit seit Anwendungsstart messen Allgemeine Java-Themen 5
T Zeit aufaddieren Allgemeine Java-Themen 3
T zeit in java Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben