- 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()返回此对象的文本表示形式。 
 -  
             
 
-  
        
       
-  
             
方法详细信息
-  
hasField
public boolean hasField(String name)
返回true如果具有给定名称的字段存在,false否则。- 参数
 -  
              
name- 要获取的字段的名称,而不是null - 结果
 -  
              
true如果该字段存在,否则为false。 - 另请参见:
 -  
              
getFields() 
 
-  
getValue
public 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) 
 
-  
getFields
public List<ValueDescriptor> getFields()
返回此对象的字段的不可变列表。- 结果
 - 
               字段,而不是 
              
null 
 
-  
getBoolean
public final boolean getBoolean(String name)
返回类型为boolean的字段的值。可以使用
"."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。
- 参数
 -  
              
name- 要获取的字段的名称,而不是null - 结果
 - 
               该字段的值, 
              
true或false - 异常
 -  
              
IllegalArgumentException- 如果该字段不存在,或该字段的类型不是boolean - 另请参见:
 -  
              
hasField(String),getValue(String) 
 
-  
getByte
public final byte getByte(String name)
返回类型为byte的字段的值。可以使用
"."(例如,"foo.bar")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。
- 参数
 -  
              
name- 获得的字段,而不是null - 结果
 - 该领域的价值
 - 异常
 -  
              
IllegalArgumentException- 如果该字段不存在,或该字段的类型不是byte - 另请参见:
 -  
              
hasField(String),getValue(String) 
 
-  
getChar
public final char getChar(String name)
返回类型为char的字段的值。可以使用
"."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。
- 参数
 -  
              
name- 获取的字段,而不是null - 结果
 - 
               该字段的值为 
              
char - 异常
 -  
              
IllegalArgumentException- 如果该字段不存在,或该字段的类型不是char - 另请参见:
 -  
              
hasField(String),getValue(String) 
 
-  
getShort
public final short getShort(String name)
通过扩展转换返回类型为short的字段或可转换为类型short的其他基本类型的值。此方法可用于以下类型:
short和byte。如果该字段具有
@Unsigned注释并且类型比short窄,则该值将作为无符号返回。可以使用
"."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。
- 参数
 -  
              
name- 获得的字段,不是null - 结果
 - 
               转换为类型 
              
short的字段的值 - 异常
 -  
              
IllegalArgumentException- 如果该字段不存在,或者通过扩展转换无法将字段值转换为类型short - 另请参见:
 -  
              
hasField(String) 
 
-  
getInt
public final int getInt(String name)
返回类型为int的字段的值或通过扩展转换可转换为类型int的其他基本类型的值。:此方法能够在下列类型的领域中使用
int,short,char,和byte。如果该字段具有
@Unsigned注释并且类型比int窄,则该值将作为无符号返回。可以使用
"."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。
- 参数
 -  
              
name- 要获取的字段,而不是null - 结果
 - 
               转换为类型 
              
int的字段的值 - 异常
 -  
              
IllegalArgumentException- 如果该字段不存在,或者通过扩展转换无法将字段值转换为类型int - 另请参见:
 -  
              
hasField(String) 
 
-  
getFloat
public final float getFloat(String name)
通过扩展转换返回类型为float的字段或另一种可转换为类型float的基本类型的值。:此方法能够在下列类型的领域中使用
float,long,int,short,char,和byte。可以使用
"."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。
- 参数
 -  
              
name- 要获取的字段,而不是null - 结果
 - 
               转换为类型 
              
float的字段的值 - 异常
 -  
              
IllegalArgumentException- 如果该字段不存在,或者通过扩展转换无法将字段值转换为类型float - 另请参见:
 -  
              
hasField(String) 
 
-  
getLong
public final long getLong(String name)
返回类型为long的字段的值,或者通过扩展转换可转换为类型long的另一种基本类型的值。:此方法能够在下列类型的领域中使用
long,int,short,char,和byte。如果该字段具有
@Unsigned注释并且类型比long窄,则该值将作为无符号返回。可以使用
"."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。
- 参数
 -  
              
name- 获得的字段,而不是null - 结果
 - 
               转换为类型 
              
long的字段的值 - 异常
 -  
              
IllegalArgumentException- 如果该字段不存在,或者字段值无法通过扩展转换转换为类型long - 另请参见:
 -  
              
hasField(String) 
 
-  
getDouble
public final double getDouble(String name)
返回类型为double的字段或可通过扩展转换转换为类型double的其他基本类型的值。:此方法能够在下列类型的领域中使用
double,float,long,int,short,char,和byte。可以使用
"."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。
- 参数
 -  
              
name- 要获取的字段,而不是null - 结果
 - 
               该字段的值转换为类型 
              
double - 异常
 -  
              
IllegalArgumentException- 如果该字段不存在,或者通过扩展转换无法将字段值转换为类型double - 另请参见:
 -  
              
hasField(String) 
 
-  
getString
public final String getString(String name)
返回类型为String的字段的值。可以使用
"."(例如,"foo.bar")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。
- 参数
 -  
              
name- 获得的字段,而不是null - 结果
 - 
               该字段的值为 
              
String,可以是null - 异常
 -  
              
IllegalArgumentException- 如果该字段不存在,或该字段的类型不是String - 另请参见:
 -  
              
hasField(String) 
 
-  
getDuration
public final Duration getDuration(String name)
返回时间跨度字段的值。这种方法可以与注释的领域中使用
@Timespan,以及下列类型的:long,int,short,char,和byte。可以使用
"."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。
- 参数
 -  
              
name- 获取的字段,而不是null - 结果
 - 
               时间跨度表示为 
              
Duration,而不是null - 异常
 -  
              
IllegalArgumentException- 如果该字段不存在,或者该字段值无法转换为Duration对象 - 另请参见:
 -  
              
hasField(String) 
 
-  
getInstant
public final Instant getInstant(String name)
返回时间戳字段的值。这种方法可以与注释的领域中使用
@Timestamp,以及下列类型的:long,int,short,char和byte。可以使用
"."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。
- 参数
 -  
              
name- 获得的字段,而不是null - 结果
 - 
               timstamp表示为 
              
Instant,而不是null - 异常
 -  
              
IllegalArgumentException- 如果该字段不存在,或者该字段值无法转换为Instant对象 - 另请参见:
 -  
              
hasField(String) 
 
-  
getClass
public final RecordedClass getClass(String name)
返回类型为类的字段的值。可以使用
"."(例如,"aaa.bbb")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。
- 参数
 -  
              
name- 要获取的字段,而不是null - 结果
 - 
               该字段的值为 
              
RecordedClass,可以是null - 异常
 -  
              
IllegalArgumentException- 如果该字段不存在,或该字段的类型不是类 - 另请参见:
 -  
              
hasField(String) 
 
-  
getThread
public final RecordedThread getThread(String name)
返回类型为Thread的字段的值。可以使用
"."(例如,"foo.bar")索引嵌套对象。在将来的JDK版本中,字段可能会更改或删除。 此方法的调用方的最佳做法是在尝试访问之前验证字段。
- 参数
 -  
              
name- 获取的字段,而不是null - 结果
 - 
               该字段的值为 
              
RecordedThread对象,可以是null - 异常
 -  
              
IllegalArgumentException- 如果该字段不存在,或该字段的类型不是Thread - 另请参见:
 -  
              
hasField(String) 
 
 -  
 
 -