java.util.Currency中的getSymbol()根据API级别返回不同的值

java.util.Currency中的getSymbol()根据API级别返回不同的值,java,android,currency,Java,Android,Currency,以下代码用于将数字格式化为正确的货币: public static String getFormattedCurrency(String currencyCode, String currencyName, Number value) { //.... NumberFormat format = NumberFormat.getCurrencyInstance(Locale.getDefault());

以下代码用于将数字格式化为正确的货币:

public static String getFormattedCurrency(String currencyCode, String currencyName, Number value) {

    //....

    NumberFormat format = NumberFormat.getCurrencyInstance(Locale.getDefault());                                           
    Currency currency = Currency.getInstance(currencyCode);                                                   
    format.setCurrency(currency);                                                                             
    if (format instanceof DecimalFormat) {                                                                    
        format.setMinimumFractionDigits(CURRENCY_MIN_FRACTION_DIGITS);                                        
    }                                                                                                         
    Log.d("Currency", "Symbol: " + currency.getSymbol() + ", Currency: " + currency + ", Locale: " + local);          
    return format.format(value);
}
currencyCode
的值是
THB
,泰铢。在棒棒糖上,
currency.getSymbol()
返回泰铢的符号
。但是,在Oreo上,相同的方法返回THB

为什么在这两个API级别之间返回不同的值

基于,它似乎是