java - java/kotlin 方程中的时间顺序和加法函数

标签 java kotlin

我正在完成 Kotlin Koans Operators Overloading练习并打算像这样实现日期算术:

today + YEAR * 2 + WEEK * 3 + DAY * 5

我的问题是,这会像常规数学方程一样运行,首先执行乘法吗?

today + (YEAR * 2) + WEEK * 3 + (DAY * 5) 

today.add(YEAR * 2).add(WEEK * 3).add(DAY * 5) 

如果是这样,我假设 times() 运算符重载器是我应该在练习中首先执行的操作,然后然后编写 add()重载器代码。

最佳答案

它的工作原理确实与数学表达式相同。

operator overloading页面状态(强调我的):

Kotlin allows us to provide implementations for a predefined set of operators on our types. These operators have fixed symbolic representation (like + or *) and fixed precedence.

语法页面lists运算符的优先级,其中 * 高于 +

因此首先调用 times 函数,并将其结果作为 plus 函数的参数传递。

关于java - java/kotlin 方程中的时间顺序和加法函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54980541/

相关文章:

android - 从Listview的onClick方法启动 Activity ( fragment )

执行 Apache HttpClient 时出现 java.lang.InterruptedException

java - CPU模拟,随机化突发、等待和优先级

java - 在 Java 中通过短信使用表情符号

arrays - Kotlin - 为自定义类对象初始化一个数组

android - 尝试在空对象引用上调用接口(interface)方法 'boolean com.google.common.util.concurrent.ListenableFuture.cancel(boolean)'

java - 无法从字符串转换为(应该是另一个字符串)

java - 为什么允许固定大小的数组支持的集合不实现所有接口(interface)方法?

android - 当 alertdialog 的 setcancelable 为 false 时不工作 onbackpressed

Android Kotlin : check if view is not null before displaying Snackbar