如何创建get方法以返回字符串和整数?

时间:2019-04-15 20:54:42

标签: java methods getter

我正在尝试创建一个getCalories方法,在该方法中,我必须返回一个String和一个整数,但是却收到一个错误消息,指出一个不能转换为另一个。我该如何进行这项工作?

package task14;

import java.util.ArrayList;

public class Meal {

    ArrayList<Ingredient> ingredient = new ArrayList<Ingredient>();

    public Meal() {};

    public Meal(ArrayList<Ingredient> ingredient) {
        this.ingredient = ingredient;
    }

    **public int getCalories() {
        return "This meal has" + Ingredient.numberOfCalories;
    }**

    public String toString() {

        return ingredient.toString();

    }
}

3 个答案:

答案 0 :(得分:2)

如果您要返回“此餐有10条”之类的句子,则需要将方法的返回类型更改为String

如果您要同时退货-不要。毫无理由,无论您在哪里打电话,getCalories都无法将该文本片段放置在任何用途之前。

顺便说一句,在Meal类中仅打印一种成分的卡路里值似乎没有多大意义。也许您是想遍历所有Ingredient并在返回总热量之前对卡路里求和?

答案 1 :(得分:1)

首先,在方法public int getCalories()上,我将int更改为String。然后,在标记return "This meal has" + Ingredient.numberOfCalories;之后的+行中,您可以将numberOfCalories的值Integer.toString(Ingredient.numberOfCalories)解析为String。它将返回一个字符串,希望它对您有用。

答案 2 :(得分:1)

如果需要返回可能包含不同类型的多个值,一种方法是创建一个定义了适当类型字段的实用工具类,并定义您的方法以返回该类型类型的实例。