gpt4 book ai didi

java - 返回 boolean 值和字符串的设计模式方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:48:20 25 4
gpt4 key购买 nike

我想在 java 中编写一个方法,它接收一个对象数组,检查一些兼容性并在所有满足时返回一个 boolean 值 true,否则返回一个包含消息的字符串以通知用户为什么某些兼容性不匹配不见面我想出了我的问题的简化版本如下:

假设您想比较汽车,为了使比较有意义,您需要确保所有汽车都属于同一级别、同一颜色、同一品牌。

所以我想从这个方法中得到的是两个:

1- 所有护理都兼容吗? (使用返回的 boolean 值)

2- 如果不是,为什么?所以通知用户原因(字符串使用抛出)

最好的设计模式是什么?

下面是一种实现方式:

boolean areCarsCompatible(Car [] cars) throws CarException {
String errorMessage = "";
for(Car car:cars){
if (cars done have same color) errorMessage +="Cars dont have same color";
}

for(Car car:cars){
if (cars done have same make) errorMessage +="Cars dont have same make";
}

for(Car car:cars){
if (cars are not all of same class) errorMessage +="cars are not all of same class";
}

if (errorMessage.equals("")){
return true
} else {
throw new CarException (errorMessage);
}

}

最佳答案

to return both boolean and strings

虽然您可以在其他(动态)编程语言中执行此操作,但强烈建议您不要在 Java 中设计这样的方法。在 Java 中,类型是静态检查和严格的,您不能简单地从同一个方法返回两种不同的类型,而当您打算返回一个字符串时抛出异常,好吧,只是一个丑陋的 hack。

另一种情况是抛出异常并显示一条消息以指示错误,这是一种非常常见的做法,并且属于该语言的良好做法。但请注意,您不会“同时返回 boolean 值和字符串”,异常用于错误处理。

关于java - 返回 boolean 值和字符串的设计模式方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20251227/

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