インタフェース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
- 比較する文字列- 戻り値:
- このエントリが指定された文字列と同じ文字列を記述するかどうか
-