-
- All Implemented Interfaces:
public final class AnyExtensions
-
-
Method Summary
Modifier and Type Method Description final static BooleanisNullLike(Object $self)final static BooleanisNotNullLike(Object $self)final static <T extends Any> Tcast(Object $self)将当前对象转换为指定类型。如果转换失败,则抛出异常。 final static <T extends Any> TcastOrNull(Object $self)将当前对象转换为指定类型。如果转换失败,则返回null。 final static <T extends Any> Tcoalesce(T values)得到指定的一组值中第一个不为null的值,或者抛出异常。 final static <T extends Any> TcoalesceOrNull(T values)得到指定的一组值中第一个不为null的值,或者返回null。 final static BooleansmartEquals(Object $self, Object other)智能判断当前对象与另一个对象是否值相等。特殊对待null值和数组类型。 final static IntegersmartHashcode(Object $self)智能得到当前对象的哈希码。特殊对待null值和数组类型。 final static StringsmartToString(Object $self)智能将当前对象转化为字符串。特殊对待null值和数组类型。 final static <T extends Any> BooleanequalsBy(T target, Object other, Function1<T, Array<?>> selector)基于指定的属性判断两个对象是否值相等。特殊对待null值和数组类型。 如果引用相等,则值相等。
如果类型不相等,则值不相等。
如果类型相等且未指定属性,则值相等。
如果类型相等且已指定属性,则参照其属性。
对于数组类型的属性,参照其内容。
final static <T extends Any> IntegerhashCodeBy(T target, Function1<T, Array<?>> selector)基于指定的属性得到指定对象的哈希码。特殊对待null值和数组类型。 如果目标为
null,则返回0.如果未指定属性,则参照其类型。
如果已指定属性,则参照其属性。
对于数组类型的属性,参照其内容。
final static <T extends Any> StringtoStringBy(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> StringtoStringByReference(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> TypejavaTypeOf()得到指定类型的带有泛型参数信息的Java类型对象。 final static <T extends Any> TypejavaTypeOf(T target)得到当前对象的带有泛型参数信息的Java类型对象。 final static <T extends Any> StringnameOf()得到指定类型的名字。 -
-
Method Detail
-
isNullLike
final static Boolean isNullLike(Object $self)
-
isNotNullLike
final static Boolean isNotNullLike(Object $self)
-
castOrNull
final static <T extends Any> T castOrNull(Object $self)
将当前对象转换为指定类型。如果转换失败,则返回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类型对象。
-
-
-