gpt4 book ai didi

用于返回值和返回值有效性的 Java 习惯用法或库?

转载 作者:行者123 更新时间:2023-12-01 14:27:53 25 4
gpt4 key购买 nike

问题

我有带有许多访问器的数据传输对象,这些访问器返回不同类型的值,例如IntegerDoubleString等。

对象是通过解析文本来初始化的,其中正在解析的文本中为Integer的字段也可能具有“INVALID”值。该类的用户(另一个模块中的开发人员)应该知道他们获取的值是否有效,而不必捕获异常。

我正在考虑的事情

public class FooDto
{
private Integer a;
private Double b;
private Long c;

public FooDto(String rawText)
{
// Initialize members from rawText...
}

public Integer getA()
{
return a;
}

boolean isAValid()
{
boolean isValid = // determine validity
return isValid;
}

public Double getB()
{
return b;
}

public boolean isBValid()
{
boolean isValid = // determine validity
return isValid;
}
}

问题

是否有最佳实践或库,其中包含我应该使用的 IntegerWithValidityCheckDoubleWithValidityCheck 等?需要明确的是,这与仅返回 null 不同。返回值可以为 null - 如果文本文件中不存在该值、有效值或“INVALID”的特定情况。

最佳答案

据我所知,您有两个选择:

  1. 最简单的方法就是针对异常情况抛出异常。我想值不存在的情况会适合吗?

  2. 创建一个从每个方法返回的新泛型类。它可以有一个 isInvalid() 方法,该方法指示该值是否被标记为“INVALID”。如果用户在被告知无效的情况下仍然调用 getValue(),则抛出异常。

关于用于返回值和返回值有效性的 Java 习惯用法或库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17047134/

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