We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
这里需要考虑计算原始类型数字之间转换的重量
cloak/api/src/jvmMain/kotlin/com/meowool/cloak/internal/MatchingUtils.kt
Lines 38 to 48 in 73a1c60
Line 100 in 73a1c60
目前不同数字类型之间的重量都是一致的,这会导致匹配范围会非常宽松
考虑以下案例∶
class Foo { constructor(number: Double) constructor(number: Float) constructor(number: Byte) }
Foo.new(10)
这个案例传入了一个 int 参数,然而类中不存在 int 参数的构造函数,因此根据目前的重量计算,所有构造函数都会匹配成功。
int
因此更好的方式应该是匹配数字种类更接近的类型
例如匹配一个 int,只要整数没有超出 byte 的范围,那么 byte 的优先级最高,然后是 bits 相同的 float 再到 long 和 double, 以此类推 例如匹配一个 float ,然后有一个 double 参数和 long 参数的构造函数,那么参数为 double 类型的优先
byte
float
long
double
The text was updated successfully, but these errors were encountered:
chachako
No branches or pull requests
这里需要考虑计算原始类型数字之间转换的重量
cloak/api/src/jvmMain/kotlin/com/meowool/cloak/internal/MatchingUtils.kt
Lines 38 to 48 in 73a1c60
cloak/api/src/jvmMain/kotlin/com/meowool/cloak/internal/MatchingUtils.kt
Line 100 in 73a1c60
目前不同数字类型之间的重量都是一致的,这会导致匹配范围会非常宽松
动机
考虑以下案例∶
因此更好的方式应该是匹配数字种类更接近的类型
The text was updated successfully, but these errors were encountered: