import javax.money.Monetary;
import javax.money.MonetaryAmount;
import javax.money.CurrencyUnit;
import javax.money.MonetaryAmounts;
import javax.money.convert.CurrencyConversion;
import javax.money.convert.MonetaryConversions;
import java.math.BigDecimal;
CurrencyUnit usd = Monetary.getCurrency("USD");
CurrencyUnit cny = Monetary.getCurrency("CNY");
MonetaryAmount amount1 = MonetaryAmounts.getDefaultAmountFactory()
.setCurrency(usd)
.setNumber(BigDecimal.valueOf(1000))
.create();
MonetaryAmount amount2 = MonetaryAmounts.getDefaultAmountFactory()
.setCurrency(cny)
.setNumber(BigDecimal.valueOf(6000))
.create();
MonetaryAmount sum = amount1.add(amount2);
System.out.println("Sum: " + sum.getNumber() + " " + sum.getCurrency().getCurrencyCode());
CurrencyConversion conversion = MonetaryConversions.getConversion("USD");
MonetaryAmount convertedAmount = amount2.with(conversion);
System.out.println("Converted Amount: " + convertedAmount.getNumber() + " " + convertedAmount.getCurrency().getCurrencyCode());
<dependencies>
<dependency>
<groupId>javax.money</groupId>
<artifactId>money-api</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.javamoney</groupId>
<artifactId>moneta</artifactId>
<version>1.3</version>
</dependency>
</dependencies>