- java.lang.Object
-  
      - jdk.jfr.consumer.RecordedObject
 
-  
       - 已知直接子类:
-  
         RecordedClass,RecordedClassLoader,RecordedEvent,RecordedFrame,RecordedMethod,RecordedStackTrace,RecordedThread,RecordedThreadGroup
 
 public class RecordedObject extends Object 由一个或多个字段组成的复杂数据类型。此类提供了通过传递点 "."分隔的String对象(例如,"aaa.bbb")来选择和查询嵌套对象的方法。 方法从左到右评估嵌套对象,如果部件是null,则抛出NullPointerException。- 从以下版本开始:
- 9
 
-  
        
       -  
             方法摘要所有方法 实例方法 具体的方法 变量和类型 方法 描述 booleangetBoolean(String name)返回类型为boolean的字段的值。bytegetByte(String name)返回类型为byte的字段的值。chargetChar(String name)返回类型为char的字段的值。RecordedClassgetClass(String name)返回类型为类的字段的值。doublegetDouble(String name)返回类型为double的字段的值,或者通过扩展转换可转换为类型double的另一种基本类型的值。DurationgetDuration(String name)返回时间跨度字段的值。List<ValueDescriptor>getFields()返回此对象的字段的不可变列表。floatgetFloat(String name)通过扩展转换返回类型为float的字段或可转换为类型float的其他基本类型的字段的值。InstantgetInstant(String name)返回时间戳字段的值。intgetInt(String name)返回类型为int的字段的值,或者通过扩展转换可转换为类型int的另一种基本类型的值。longgetLong(String name)返回类型为long的字段的值,或者通过扩展转换可转换为类型long的另一种基本类型的值。shortgetShort(String name)返回类型为short的字段的值或通过扩展转换可转换为类型short的其他基本类型的值。StringgetString(String name)返回类型为String的字段的值。RecordedThreadgetThread(String name)返回类型为Thread的字段的值。<T> TgetValue(String name)返回具有给定名称的字段的值。booleanhasField(String name)返回true如果具有给定名称的字段存在,false否则。StringtoString()返回此对象的文本表示形式。
 
-  
             
-  
        
       -  
             方法详细信息-  hasFieldpublic boolean hasField(String name) 返回true如果具有给定名称的字段存在,false否则。- 参数
-  
              name- 要获取的字段的名称,而不是null
- 结果
-  
              true如果该字段存在,否则为false。
- 另请参见:
-  
              getFields()
 
 -  getValuepublic final <T> T getValue(String name) 返回具有给定名称的字段的值。返回类型可以是原始类型或 RecordedObject的子类。可以使用 "."(例如"thread.group.parent.name“)索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。 例 if (event.hasField("intValue")) { int intValue = event.getValue("intValue"); System.out.println("Int value: " + intValue); } if (event.hasField("objectClass")) { RecordedClass clazz = event.getValue("objectClass"); System.out.println("Class name: " + clazz.getName()); } if (event.hasField("sampledThread")) { RecordedThread sampledThread = event.getValue("sampledThread"); System.out.println("Sampled thread: " + sampledThread.getName()); }- 参数类型
-  
              T- 返回类型
- 参数
-  
              name- 要获取的字段,而不是null
- 结果
- 
               该值,可以是 
              null
- 异常
-  
              IllegalArgumentException- 如果不存在名为name字段
- 另请参见:
-  
              hasField(String)
 
 -  getFieldspublic List<ValueDescriptor> getFields() 返回此对象的字段的不可变列表。- 结果
- 
               字段,而不是 
              null
 
 -  getBooleanpublic final boolean getBoolean(String name) 返回类型为boolean的字段的值。可以使用 "."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。 - 参数
-  
              name- 要获取的字段的名称,而不是null
- 结果
- 
               该字段的值, 
              true或false
- 异常
-  
              IllegalArgumentException- 如果该字段不存在,或该字段的类型不是boolean
- 另请参见:
-  
              hasField(String),getValue(String)
 
 -  getBytepublic final byte getByte(String name) 返回类型为byte的字段的值。可以使用 "."(例如,"foo.bar")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。 - 参数
-  
              name- 获得的字段,而不是null
- 结果
- 该领域的价值
- 异常
-  
              IllegalArgumentException- 如果该字段不存在,或该字段的类型不是byte
- 另请参见:
-  
              hasField(String),getValue(String)
 
 -  getCharpublic final char getChar(String name) 返回类型为char的字段的值。可以使用 "."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。 - 参数
-  
              name- 获取的字段,而不是null
- 结果
- 
               该字段的值为 
              char
- 异常
-  
              IllegalArgumentException- 如果该字段不存在,或该字段的类型不是char
- 另请参见:
-  
              hasField(String),getValue(String)
 
 -  getShortpublic final short getShort(String name) 通过扩展转换返回类型为short的字段或可转换为类型short的其他基本类型的值。此方法可用于以下类型: short和byte。如果该字段具有 @Unsigned注释并且类型比short窄,则该值将作为无符号返回。可以使用 "."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。 - 参数
-  
              name- 获得的字段,不是null
- 结果
- 
               转换为类型 
              short的字段的值
- 异常
-  
              IllegalArgumentException- 如果该字段不存在,或者通过扩展转换无法将字段值转换为类型short
- 另请参见:
-  
              hasField(String)
 
 -  getIntpublic final int getInt(String name) 返回类型为int的字段的值或通过扩展转换可转换为类型int的其他基本类型的值。:此方法能够在下列类型的领域中使用 int,short,char,和byte。如果该字段具有 @Unsigned注释并且类型比int窄,则该值将作为无符号返回。可以使用 "."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。 - 参数
-  
              name- 要获取的字段,而不是null
- 结果
- 
               转换为类型 
              int的字段的值
- 异常
-  
              IllegalArgumentException- 如果该字段不存在,或者通过扩展转换无法将字段值转换为类型int
- 另请参见:
-  
              hasField(String)
 
 -  getFloatpublic final float getFloat(String name) 通过扩展转换返回类型为float的字段或另一种可转换为类型float的基本类型的值。:此方法能够在下列类型的领域中使用 float,long,int,short,char,和byte。可以使用 "."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。 - 参数
-  
              name- 要获取的字段,而不是null
- 结果
- 
               转换为类型 
              float的字段的值
- 异常
-  
              IllegalArgumentException- 如果该字段不存在,或者通过扩展转换无法将字段值转换为类型float
- 另请参见:
-  
              hasField(String)
 
 -  getLongpublic final long getLong(String name) 返回类型为long的字段的值,或者通过扩展转换可转换为类型long的另一种基本类型的值。:此方法能够在下列类型的领域中使用 long,int,short,char,和byte。如果该字段具有 @Unsigned注释并且类型比long窄,则该值将作为无符号返回。可以使用 "."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。 - 参数
-  
              name- 获得的字段,而不是null
- 结果
- 
               转换为类型 
              long的字段的值
- 异常
-  
              IllegalArgumentException- 如果该字段不存在,或者字段值无法通过扩展转换转换为类型long
- 另请参见:
-  
              hasField(String)
 
 -  getDoublepublic final double getDouble(String name) 返回类型为double的字段或可通过扩展转换转换为类型double的其他基本类型的值。:此方法能够在下列类型的领域中使用 double,float,long,int,short,char,和byte。可以使用 "."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。 - 参数
-  
              name- 要获取的字段,而不是null
- 结果
- 
               该字段的值转换为类型 
              double
- 异常
-  
              IllegalArgumentException- 如果该字段不存在,或者通过扩展转换无法将字段值转换为类型double
- 另请参见:
-  
              hasField(String)
 
 -  getStringpublic final String getString(String name) 返回类型为String的字段的值。可以使用 "."(例如,"foo.bar")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。 - 参数
-  
              name- 获得的字段,而不是null
- 结果
- 
               该字段的值为 
              String,可以是null
- 异常
-  
              IllegalArgumentException- 如果该字段不存在,或该字段的类型不是String
- 另请参见:
-  
              hasField(String)
 
 -  getDurationpublic final Duration getDuration(String name) 返回时间跨度字段的值。这种方法可以与注释的领域中使用 @Timespan,以及下列类型的:long,int,short,char,和byte。可以使用 "."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。 - 参数
-  
              name- 获取的字段,而不是null
- 结果
- 
               时间跨度表示为 
              Duration,而不是null
- 异常
-  
              IllegalArgumentException- 如果该字段不存在,或者该字段值无法转换为Duration对象
- 另请参见:
-  
              hasField(String)
 
 -  getInstantpublic final Instant getInstant(String name) 返回时间戳字段的值。这种方法可以与注释的领域中使用 @Timestamp,以及下列类型的:long,int,short,char和byte。可以使用 "."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。 - 参数
-  
              name- 获得的字段,而不是null
- 结果
- 
               timstamp表示为 
              Instant,而不是null
- 异常
-  
              IllegalArgumentException- 如果该字段不存在,或者该字段值无法转换为Instant对象
- 另请参见:
-  
              hasField(String)
 
 -  getClasspublic final RecordedClass getClass(String name) 返回类型为类的字段的值。可以使用 "."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。 - 参数
-  
              name- 要获取的字段,而不是null
- 结果
- 
               该字段的值为 
              RecordedClass,可以是null
- 异常
-  
              IllegalArgumentException- 如果该字段不存在,或该字段的类型不是类
- 另请参见:
-  
              hasField(String)
 
 -  getThreadpublic final RecordedThread getThread(String name) 返回类型为Thread的字段的值。可以使用 "."(例如,"foo.bar")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。 - 参数
-  
              name- 获取的字段,而不是null
- 结果
- 
               该字段的值为 
              RecordedThread对象,可以是null
- 异常
-  
              IllegalArgumentException- 如果该字段不存在,或该字段的类型不是Thread
- 另请参见:
-  
              hasField(String)
 
 
-  
 
-