インタフェース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データのバイト数が続きます。 物理的な制限により、最大65535バイトのデータを表すことができます。
- Java Virtual Machine仕様を参照してください:
-
「4.4.7
CONSTANT_Utf8_info構造」 - 導入されたバージョン:
- 24
- 関連項目:
-
フィールドのサマリー
インタフェースjava.lang.classfile.constantpool.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 -
メソッドのサマリー
修飾子と型メソッド説明booleanこのエントリに、指定された文字列と同じ文字列が記述されているかどうかを返します。このエントリの文字列値を返します。インタフェースjava.lang.classfile.constantpool.AnnotationConstantValueEntryで宣言されたメソッド
constantValueインタフェースjava.lang.CharSequenceで宣言されたメソッド
charAt, chars, codePoints, isEmpty, length, subSequence, toStringインタフェースjava.lang.classfile.constantpool.PoolEntryで宣言されたメソッド
constantPool, index, tag, width
-
メソッドの詳細
-
stringValue
String stringValue()このエントリの文字列値を返します。- APIのノート:
Stringの機能が厳密に必要なものでない場合は、Utf8EntryをCharSequenceとして直接使用できます。 文字列の等価のみが必要な場合は、equalsStringを使用する必要があります。 文字列処理が減少すると、classファイルの読取りパフォーマンスが大幅に向上します。- 戻り値:
- このエントリの文字列値
- 関連項目:
-
equalsString
boolean equalsString(String s) このエントリに、指定された文字列と同じ文字列が記述されているかどうかを返します。- パラメータ:
s- 比較する文字列- 戻り値:
- このエントリが指定された文字列と同じ文字列を記述するかどうか
-