Spielen mit java.lang.reflect
und frage mich, ob es irgendwelche Möglichkeiten ist die Zuordnung Wert eines java.lang.reflect.Field
Reflektion: Wie erhält man den Wert eines Feldes ohne Auswertung?
Beispiel
public class Dummy {
String envHttpPort = System.getenv("HTTP_PORT");
}
Von Java-Reflexion zu bekommen ich den Wert der haben möchte System.getenv("HTTP_PORT");
statt null
als es zurück scheint durch Instanziierung der Klasse, die, soweit ich weiß, erforderlich ist, um die Werte des Feldes abzurufen, wäre der Wert des System.getenv (String) -Aufrufs, was nicht das ist, was ich will.
Ist es möglich, das Feld und den Wert so zu lesen, wie es ist?
Gesucht Ausgang wäre der gleiche wie der Quellcode.
Ich hoffe, Sie verstehen, wenn nicht bitte lass es mich wissen, und ich werde versuchen, die Frage umzuformulieren.
Sie versuchen also, den Code 'System.getenv (" HTTP_PORT ") zurückzubekommen und ihn selbst oder etwas Ähnliches zu bewerten? Warum? Ich vermute, es gibt einen einfacheren/besseren Weg, um jedes Problem zu lösen, an dem Sie gerade arbeiten ... –
Ich stimme Matt zu. Das sieht nach einem anderen Fall von [X/Y-Problem] aus (https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) – Pshemo
Der Grund, warum ich frage, ist, dass ich meinen Quellcode haben möchte in der Lage, Dokumentation mit den Endpunkten zu generieren, die ich in System.getenv verwende, indem ich ein Präfix/eine Annotation verwende, die ich vermuten würde, und einen anderen Grund, den "echten" Wert von Feld x zu sehen, wäre, das Duplikat zu reduzieren. Stellen Sie sich vor, Sie würden viele Umgebungsvariablen schreiben, und Sie müssen diese in den JavaDoc kopieren, stattdessen wäre es meine Vision, parallel zu einem Build oder Test zu laufen und einen Bericht über die Umgebungsvariablen oder die Routenendpunkte zu erhalten. –