2017-02-11 2 views
0

Ich sehe Android-QuellcodeWarum checkStartAndEnd nicht in Android java.util.Arrays gefunden wird?

https://android.googlesource.com/platform/libcore/+/cff1616/luni/src/main/java/java/util/Arrays.java#1742

I Android realisieren Arrays enthält eine öffentliche statische Methode namens checkStartAndEnd, die in Java Standard SE nicht gefunden wird.

Allerdings, wenn ich java.util.Arrays.checkStartAndEnd in Android Studio geben, oder sehen Sie in der Dokumentation https://developer.android.com/reference/java/util/Arrays.html, merke ich checkStartAndEnd für Android Arrays Klasse nicht gültig ist.

Darf ich wissen, warum ist es so? Sehe ich den falschen Android-Quellcode an?

Antwort

3

Sie können es nicht sehen/verwenden, weil es ausgeblendet ist (überprüfen Sie das @hide Tag im Javadoc). Wenn Sie die Android Arrays Klasse mit der Java SE vergleichen, werden Sie sehen, dass diese checkStartAndEnd im Grunde gleich ist, was auch eine private Methode ist. Warum haben sie es umbenannt? Ich habe keine Ahnung, vielleicht ein Lizenzproblem oder etwas anderes.

+0

Argh ... schwierig. Ich vermisse '@ hide' Annotation. Vielen Dank. –

+0

Ich denke, es war, als Oracle versucht, Google über Android Java-Nutzung zu verklagen. Es war eine Rangecheck-Funktion, siehe https://developers.slashdot.org/story/12/05/16/1612228/judge-to-oracle-a-high-schooler-could-write-rangecheck – Sanj

+0

Übrigens, ich benutze es gerne Ihre bevorzugte Bibliothek. Es ist eine großartige Bibliothek :) –

Verwandte Themen