gpt4 book ai didi

java - 为什么此代码会对 * 和 + 运算符引发 invalidAssignmentOperator 错误?

转载 作者:行者123 更新时间:2023-12-02 01:32:08 25 4
gpt4 key购买 nike

为什么此代码会对 * 和 + 运算符引发 invalidAssignmentOperator 错误?

public static Function<Integer, Double> tariff = t -> {
if (t = 500) {
t * t;
} else {
t + t;
}
};

最佳答案

您的代码存在几个问题:

  1. 平等检查需求== :t=500应该是t==500

  2. 当您有 lambda 等复杂代码时,return声明不是隐含的:所以 t*t不隐式返回。

  3. 通过将两个整数相乘/相加,您试图返回 integer值,而您的预期返回类型是 double ,因此存在编译问题。

像这样的东西会起作用:

  public static Function<Integer, Integer> tariff = t -> {
if (t == 500) {
return t * t;
} else {
return t + t;
}
};

隐式返回适用于这样的情况:

  public static Function<Integer, Integer> tariff = t -> (t == 500) ? t * t : t + t;

关于java - 为什么此代码会对 * 和 + 运算符引发 invalidAssignmentOperator 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55872178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com