インタフェース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
関連項目:
  • メソッドの詳細

    • stringValue

      String stringValue()
      このエントリの文字列値を返します。
      APIのノート:
      Stringの機能が厳密に必要なものでない場合は、Utf8EntryCharSequenceとして直接使用できます。 文字列の等価のみが必要な場合は、equalsStringを使用する必要があります。 文字列処理が減少すると、 classファイルの読取りパフォーマンスが大幅に向上します。
      戻り値:
      このエントリの文字列値
      関連項目:
    • equalsString

      boolean equalsString(String s)
      このエントリに、指定された文字列と同じ文字列が記述されているかどうかを返します。
      パラメータ:
      s - 比較する文字列
      戻り値:
      このエントリが指定された文字列と同じ文字列を記述するかどうか