Annotates a program element (class, method, package etc) which is internal to its containing
library, not part of the public API, and should not be used by users of the library.
This annotation only makes sense on APIs that are not private. Its existence is necessary
because Java does not have a visibility level for code within a compilation unit.
Adding this annotation to an API is considered API-breaking.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThis webpage documents various versions of the \u003ccode\u003eInternalApi\u003c/code\u003e, a Java interface used for marking elements as internal to their library and not for public use.\u003c/p\u003e\n"],["\u003cp\u003eThe latest documented version of the \u003ccode\u003eInternalApi\u003c/code\u003e is 2.46.1, with a comprehensive list of previous versions also detailed.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eInternalApi\u003c/code\u003e interface implements the \u003ccode\u003eAnnotation\u003c/code\u003e interface and contains a single method, \u003ccode\u003evalue()\u003c/code\u003e, which returns a \u003ccode\u003eString\u003c/code\u003e describing the context of its internal use.\u003c/p\u003e\n"],["\u003cp\u003eApplying the \u003ccode\u003eInternalApi\u003c/code\u003e annotation to an element of an API is considered an API-breaking change.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eInternalApi\u003c/code\u003e is used because Java lacks a specific visibility level for code that is within a compilation unit, yet is not part of the public API.\u003c/p\u003e\n"]]],[],null,[]]