- java.lang.Object
 -  
      
- jdk.dynalink.linker.support.TypeUtilities
 
 
-  
       
public final class TypeUtilities extends Object
用于处理Java类型的各种静态实用程序方法。 
-  
        
       
-  
             
方法摘要
所有方法 静态方法 具体的方法 Modifier and Type 方法 描述 static Class<?>getPrimitiveType(Class<?> wrapperType)当传递一个表示原始类型的包装器的类时,返回表示相应基本类型的类。static Class<?>getPrimitiveTypeByName(String name)给定一个原始类型的名称返回表示它的类。static Class<?>getWrapperType(Class<?> primitiveType)当传递表示原始类型的类时,返回表示相应包装器类型的类。static booleanisConvertibleWithoutLoss(Class<?> sourceType, Class<?> targetType)确定类型是否可以转换为另一个而不会失去任何精度。static booleanisMethodInvocationConvertible(Class<?> sourceType, Class<?> targetType)根据JLS 5.3“方法调用转换”,确定是否可以使用方法调用转换将一种类型转换为其他类型。static booleanisSubtype(Class<?> subType, Class<?> superType)根据JLS 4.10“子类型”确定一种类型是否是另一种类型的子类型。static booleanisWrapperType(Class<?> type)如果传递的类型是原始类型的包装器,则返回true。 
 -  
             
 
-  
        
       
-  
             
方法详细信息
-  
isMethodInvocationConvertible
public static boolean isMethodInvocationConvertible(Class<?> sourceType, Class<?> targetType)
根据JLS 5.3“方法调用转换”,确定是否可以使用方法调用转换将一种类型转换为其他类型。 这基本上是子类型允许的转换(参见isSubtype(Class, Class))以及拳击转换(JLS 5.1.7),随后可以扩展引用转换,以及拆箱转换(JLS 5.1.8),随后可以扩展原语转换。- 参数
 -  
              
sourceType- 要转换的类型(参数类型的调用站点类型,返回类型的方法类型) -  
              
targetType- 要转换的参数类型(参数类型的方法类型,返回类型的调用站点类型) - 结果
 - 如果源类型是方法调用可转换为目标类型,则为true。
 
 
-  
isConvertibleWithoutLoss
public static boolean isConvertibleWithoutLoss(Class<?> sourceType, Class<?> targetType)
确定类型是否可以转换为另一个而不会失去任何精度。 作为一种特殊情况,void被视为仅转换为空值,Object(或作为null或DynamicLinkerFactory.setAutoConversionStrategy(MethodTypeConversionStrategy)中设置的自定义值)。 有意思的是,尽管转换为void会导致数据的最终丢失,我们认为任何可转换为void的都是无效的。 另一方面,转换为void基本上意味着该值是没有兴趣的,应该被丢弃,因此不期望保留任何精度。- 参数
 -  
              
sourceType- 源类型 -  
              
targetType- 目标类型 - 结果
 - 如果可以进行无损转换,则为真
 
 
-  
isSubtype
public static boolean isSubtype(Class<?> subType, Class<?> superType)
根据JLS 4.10“子类型”确定一种类型是否是另一种类型的子类型。 注意:这不是严格或适当的子类型,因此对于相同的类型也返回true; 要完全精确,它允许身份转换(JLS 5.1.1),扩展原语转换(JLS 5.1.2)和扩大引用转换(JLS 5.1.5)。- 参数
 -  
              
subType- 假定的子类型 -  
              
superType- 子类型的超类型 - 结果
 - 如果subType可以通过标识转换,拓宽原语转换,或将引用转换扩展为超类型,则为true。
 
 
-  
getPrimitiveTypeByName
public static Class<?> getPrimitiveTypeByName(String name)
给定一个原始类型的名称返回表示它的类。 即当用“int”调用时,返回Integer.TYPE。- 参数
 -  
              
name- 原始类型的名称 - 结果
 - 表示原始类型的类,如果名称与原始类型不对应,则为null。
 
 
-  
getPrimitiveType
public static Class<?> getPrimitiveType(Class<?> wrapperType)
当传递一个表示原始类型的包装器的类时,返回表示相应基本类型的类。 即使用Integer.class也可以返回Integer.TYPE。 如果传递的类不是原始类型的包装器,则返回null。- 参数
 -  
              
wrapperType- 表示原始类型的包装器的类对象。 - 结果
 - 表示原始类型的类对象,如果传递的类不是原始包装,则为null。
 
 
-  
getWrapperType
public static Class<?> getWrapperType(Class<?> primitiveType)
当传递表示原始类型的类时,返回表示相应包装器类型的类。 即使用int.class也会返回Integer.class。 如果传递的类不是原始类型,则返回null。- 参数
 -  
              
primitiveType- 表示原始类型的类对象 - 结果
 - 表示包装类型的类对象,如果传递的类不是原语,则为null。
 
 
-  
isWrapperType
public static boolean isWrapperType(Class<?> type)
如果传递的类型是原始类型的包装器,则返回true。- 参数
 -  
              
type- 检查类型 - 结果
 - 如果传递的类型是原始类型的包装器,则为true。
 
 
 -  
 
 -