インタフェースUtf8Entry
- すべてのスーパー・インタフェース:
AnnotationConstantValueEntry, CharSequence, PoolEntry
public sealed interface Utf8Entry extends CharSequence, AnnotationConstantValueEntry
classファイルの定数プールで、文字列を表すCONSTANT_UTF8_info定数をモデル化します。 ここでは、「変更されたUTF-8」形式の文字列について説明します。
Utf8Entryの使用は、Stringで表されます。 変換は、ConstantPoolBuilder.utf8Entry(String)およびstringValue()を介して行われます。
Utf8Entryの一部の使用は、Utf8Entryの出現場所に応じて、ClassDescまたはMethodTypeDescとして象徴的に表されるフィールドまたはメソッド「記述子文字列」を表します。 このような使用を表すエントリはConstantPoolBuilder.utf8Entry(ClassDesc)とConstantPoolBuilder.utf8Entry(MethodTypeDesc)で作成され、AnnotationValue.OfClass.classSymbol()やMethodModel.methodTypeSymbol()など、サイト単位でシンボリック記述子に変換できます。
ほとんどの定数プール・エントリとは異なり、UTF-8エントリは柔軟な長さです: これは配列構造として表され、データ長がバイト単位のu2の後に変更済UTF-8データのバイト数が続きます。 u2の物理的制限により、最大65535バイトのデータを表すことができます。
- Java Virtual Machine仕様を参照してください:
-
「4.4.7
CONSTANT_Utf8_info構造」 - 導入されたバージョン:
- 24
- 関連項目:
-
フィールドのサマリー
インタフェースで宣言されたフィールド PoolEntry
TAG_CLASS, TAG_DOUBLE, TAG_DYNAMIC, TAG_FIELDREF, TAG_FLOAT, TAG_INTEGER, TAG_INTERFACE_METHODREF, TAG_INVOKE_DYNAMIC, TAG_LONG, TAG_METHOD_HANDLE, TAG_METHOD_TYPE, TAG_METHODREF, TAG_MODULE, TAG_NAME_AND_TYPE, TAG_PACKAGE, TAG_STRING, TAG_UTF8修飾子と型フィールド説明static final intCONSTANT_Class定数の種類のtag。static final intCONSTANT_Double定数の種類のtag。static final intCONSTANT_Dynamic定数の種類のtag。static final intCONSTANT_Fieldref定数の種類のtag。static final intCONSTANT_Float定数の種類のtag。static final intCONSTANT_Integer定数の種類のtag。static final intstatic final intCONSTANT_InvokeDynamic定数の種類のtag。static final intCONSTANT_Long定数の種類のtag。static final intCONSTANT_MethodHandle定数の種類のtag。static final intCONSTANT_MethodType定数の種類のtag。static final intCONSTANT_Methodref定数の種類のtag。static final intCONSTANT_Module定数の種類のtag。static final intCONSTANT_NameAndType定数の種類のtag。static final intCONSTANT_Package定数の種類のtag。static final intCONSTANT_String定数の種類のtag。static final intCONSTANT_Utf8定数の種類のtag。 -
メソッドのサマリー
修飾子と型メソッド説明booleanこのエントリに、指定された文字列と同じ文字列が記述されているかどうかを返します。booleanisFieldType(ClassDesc desc) このエントリがこのフィールド・タイプの記述子文字列を説明するかどうかを返します。booleanisMethodType(MethodTypeDesc desc) このエントリがこのメソッド・タイプの記述子文字列を記述するかどうかを返します。このエントリの文字列値を返します。インタフェースで宣言されたメソッド AnnotationConstantValueEntry
constantValueインタフェースで宣言されたメソッド CharSequence
charAt, chars, codePoints, getChars, isEmpty, length, subSequence, toString修飾子と型メソッド説明charcharAt(int index) 指定されたインデックスのchar値を返します。default IntStreamchars()このシーケンスのchar値をゼロ拡張したintを含むストリームを返します。default IntStreamこのシーケンスからコード・ポイント値のストリームを返します。default voidgetChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) このシーケンスから指定された宛先配列に文字をコピーします。default booleanisEmpty()この文字シーケンスが空の場合、trueを返します。intlength()この文字シーケンスの長さを返します。subSequence(int start, int end) このシーケンスのサブシーケンスであるCharSequenceを返します。toString()このシーケンス内の文字を含む文字列を、このシーケンスと同じ順序で返します。
-
メソッドの詳細
-
stringValue
String stringValue()このエントリの文字列値を返します。- APIのノート:
Stringの機能が厳密に必要なものでない場合は、Utf8EntryをCharSequenceとして直接使用できます。 文字列の等価のみが必要な場合は、equalsStringを使用する必要があります。 文字列処理が減少すると、classファイルの読取りパフォーマンスが大幅に向上します。- 戻り値:
- このエントリの文字列値
- 関連項目:
-
equalsString
boolean equalsString(String s) このエントリに、指定された文字列と同じ文字列が記述されているかどうかを返します。- パラメータ:
s- 比較する文字列- 戻り値:
- このエントリが指定された文字列と同じ文字列を記述するかどうか
-
isFieldType
boolean isFieldType(ClassDesc desc) このエントリがこのフィールド・タイプの記述子文字列を説明するかどうかを返します。- パラメータ:
desc- フィールド・タイプ- 戻り値:
- このエントリがこのフィールド・タイプの記述子文字列を記述するかどうか
- 導入されたバージョン:
- 25
-
isMethodType
boolean isMethodType(MethodTypeDesc desc) このエントリがこのメソッド・タイプの記述子文字列を記述するかどうかを返します。- パラメータ:
desc- メソッドの型- 戻り値:
- このエントリがこのメソッド・タイプの記述子文字列を記述するかどうか
- 導入されたバージョン:
- 25
-