Frage

überall sonst in Java, alles mit einem Index beginnt bei 0. Gibt es einen Grund für die Änderung hier oder ist dies nur schlechte Design?

War es hilfreich?

Lösung

Historisch haben Datenbanken 1-basierte Indizierung für gebundene Parameter verwendet. Dies spiegelt wahrscheinlich die Ursprünge von relationalen Datenbanken in der Mengenlehre und Mathematik, die Indexelemente mit einem Start-und verwendet Null eine Null oder leere Menge darzustellen.

In Shell-Skripten und regulären Ausdrücken, die Null-Index bedeutet in der Regel etwas „Besonderes“. Zum Beispiel im Fall von Shell-Skripten, die nullte „Argument“ ist eigentlich der Befehl, der aufgerufen wurde.

Die Wahl für JDBC war Absicht, aber letzten Endes wahrscheinlich verursacht mehr Verwirrung und Schwierigkeiten als sie löst.

Andere Tipps

Dies war Teil einer Verschwörung von den ursprünglichen Sprachdesigner die Schwachen auszusondern. In der ursprünglichen spec wurden Arrays von -1 nummeriert, und Listen mit 1 Elemente zurückzuLänge = 0.

Heute gibt es nur den Java-Kalender API bleibt von dieser teuflischen Handlung.

Persönlich würde ich diese Kreide auf schlechtes Design auf.

Ich verstehe beide JDBC und ODBC basieren auf der X / Open Call Level Interface. Also, es ist Pre-Java Geschichte, wie 0-basierten Monat Zahlen.

Wahrscheinlich ist es, dass JDBC auf ODBC modelliert wurde.

Mehr menschlichen freundlich vielleicht? Auch Java reguläre Ausdruck Matcher Gruppe beginnt bei 1 als erster abgestimmte Gruppe.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top