Package 

Class AnyExtensions

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final static Boolean isNullLike(Object $self)
      final static Boolean isNotNullLike(Object $self)
      final static <T extends Any> T cast(Object $self) 将当前对象转换为指定类型。如果转换失败,则抛出异常。
      final static <T extends Any> T castOrNull(Object $self) 将当前对象转换为指定类型。如果转换失败,则返回null。
      final static <T extends Any> T coalesce(T values) 得到指定的一组值中第一个不为null的值,或者抛出异常。
      final static <T extends Any> T coalesceOrNull(T values) 得到指定的一组值中第一个不为null的值,或者返回null。
      final static Boolean smartEquals(Object $self, Object other) 智能判断当前对象与另一个对象是否值相等。特殊对待null值和数组类型。
      final static Integer smartHashcode(Object $self) 智能得到当前对象的哈希码。特殊对待null值和数组类型。
      final static String smartToString(Object $self) 智能将当前对象转化为字符串。特殊对待null值和数组类型。
      final static <T extends Any> Boolean equalsBy(T target, Object other, Function1<T, Array<?>> selector) 基于指定的属性判断两个对象是否值相等。特殊对待null值和数组类型。
      • 如果引用相等,则值相等。

      • 如果类型不相等,则值不相等。

      • 如果类型相等且未指定属性,则值相等。

      • 如果类型相等且已指定属性,则参照其属性。

      • 对于数组类型的属性,参照其内容。

      final static <T extends Any> Integer hashCodeBy(T target, Function1<T, Array<?>> selector) 基于指定的属性得到指定对象的哈希码。特殊对待null值和数组类型。
      • 如果目标为null,则返回0.

      • 如果未指定属性,则参照其类型。

      • 如果已指定属性,则参照其属性。

      • 对于数组类型的属性,参照其内容。

      final static <T extends Any> String toStringBy(T target, String delimiter, String prefix, String postfix, Boolean simplifyClassName, Function1<T, Array<Pair<String, ?>>> selector) 基于指定的属性的名字-值元组,将指定对象转化为字符串。特殊对待null值和数组类型。
      • 如果目标为null,则返回"null"

      • 如果未指定属性,则忽略属性的输出。

      • 如果已指定属性,则输出属性的名字-值的键值对。

      • 对于数组类型的属性,参照其内容。

      参考:
      • Kotlin数据类风格的输出:Foo(bar=123)

      • Java记录风格的输出:Foo[bar=123]

      final static <T extends Any> String toStringByReference(T target, String delimiter, String prefix, String postfix, Boolean simplifyClassName, Function1<T, Array<KProperty0<?>>> selector) 基于指定的属性的引用,将指定对象转化为字符串。特殊对待null值和数组类型。
      • 如果目标为null,则返回"null"

      • 如果未指定属性,则忽略属性的输出。

      • 如果已指定属性,则输出属性的名字-值的键值对。

      • 对于数组类型的属性,参照其内容。

      参考:
      • Kotlin数据类风格的输出:Foo(bar=123)

      • Java记录风格的输出:Foo[bar=123]

      final static <T extends Any> Type javaTypeOf() 得到指定类型的带有泛型参数信息的Java类型对象。
      final static <T extends Any> Type javaTypeOf(T target) 得到当前对象的带有泛型参数信息的Java类型对象。
      final static <T extends Any> String nameOf() 得到指定类型的名字。
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • Method Detail

      • cast

         final static <T extends Any> T cast(Object $self)

        将当前对象转换为指定类型。如果转换失败,则抛出异常。

      • castOrNull

         final static <T extends Any> T castOrNull(Object $self)

        将当前对象转换为指定类型。如果转换失败,则返回null。

      • coalesce

         final static <T extends Any> T coalesce(T values)

        得到指定的一组值中第一个不为null的值,或者抛出异常。

      • coalesceOrNull

         final static <T extends Any> T coalesceOrNull(T values)

        得到指定的一组值中第一个不为null的值,或者返回null。

      • smartEquals

         final static Boolean smartEquals(Object $self, Object other)

        智能判断当前对象与另一个对象是否值相等。特殊对待null值和数组类型。

      • smartHashcode

         final static Integer smartHashcode(Object $self)

        智能得到当前对象的哈希码。特殊对待null值和数组类型。

      • smartToString

         final static String smartToString(Object $self)

        智能将当前对象转化为字符串。特殊对待null值和数组类型。

      • equalsBy

         final static <T extends Any> Boolean equalsBy(T target, Object other, Function1<T, Array<?>> selector)

        基于指定的属性判断两个对象是否值相等。特殊对待null值和数组类型。

        • 如果引用相等,则值相等。

        • 如果类型不相等,则值不相等。

        • 如果类型相等且未指定属性,则值相等。

        • 如果类型相等且已指定属性,则参照其属性。

        • 对于数组类型的属性,参照其内容。

      • hashCodeBy

         final static <T extends Any> Integer hashCodeBy(T target, Function1<T, Array<?>> selector)

        基于指定的属性得到指定对象的哈希码。特殊对待null值和数组类型。

        • 如果目标为null,则返回0.

        • 如果未指定属性,则参照其类型。

        • 如果已指定属性,则参照其属性。

        • 对于数组类型的属性,参照其内容。

      • toStringBy

         final static <T extends Any> String toStringBy(T target, String delimiter, String prefix, String postfix, Boolean simplifyClassName, Function1<T, Array<Pair<String, ?>>> selector)

        基于指定的属性的名字-值元组,将指定对象转化为字符串。特殊对待null值和数组类型。

        • 如果目标为null,则返回"null"

        • 如果未指定属性,则忽略属性的输出。

        • 如果已指定属性,则输出属性的名字-值的键值对。

        • 对于数组类型的属性,参照其内容。

        参考:

        • Kotlin数据类风格的输出:Foo(bar=123)

        • Java记录风格的输出:Foo[bar=123]

      • toStringByReference

         final static <T extends Any> String toStringByReference(T target, String delimiter, String prefix, String postfix, Boolean simplifyClassName, Function1<T, Array<KProperty0<?>>> selector)

        基于指定的属性的引用,将指定对象转化为字符串。特殊对待null值和数组类型。

        • 如果目标为null,则返回"null"

        • 如果未指定属性,则忽略属性的输出。

        • 如果已指定属性,则输出属性的名字-值的键值对。

        • 对于数组类型的属性,参照其内容。

        参考:

        • Kotlin数据类风格的输出:Foo(bar=123)

        • Java记录风格的输出:Foo[bar=123]

      • javaTypeOf

         final static <T extends Any> Type javaTypeOf()

        得到指定类型的带有泛型参数信息的Java类型对象。

      • javaTypeOf

         final static <T extends Any> Type javaTypeOf(T target)

        得到当前对象的带有泛型参数信息的Java类型对象。

      • nameOf

         final static <T extends Any> String nameOf()

        得到指定类型的名字。