gpt4 book ai didi

java - 使用什么 Java 类型来表示 Web 服务中的货币值?

转载 作者:行者123 更新时间:2023-11-30 07:38:26 27 4
gpt4 key购买 nike

我正在用 Java 创建一个 Web 服务,该服务将由外部应用程序使用,可能是用 C# 编写的。在我的 Purchase bean 中,我有一个表示总成本的 Currency 对象。但是,这会导致以下错误:

Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
java.util.Currency does not have a no-arg default constructor.

我找到了 a solution创建自定义 XML 适配器来处理货币编码/解码:

public class CurrencyAdapter extends XmlAdapter<String,Currency> {
public Currency unmarshal(String val) throws Exception {
return Currency.getInstance(val);
}
public String marshal(Currency val) throws Exception {
return val.toString();
}
}

我可以使用自定义 XML 适配器,还是使用 BigDecimal(或其他类型)对象来表示成本?

最佳答案

您将货币(命名单位)和成本(该单位的某个数量)混为一谈。您不能将货币表示为 BigInteger,因为货币不是数量。

关于java - 使用什么 Java 类型来表示 Web 服务中的货币值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1868233/

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