के साथ काम नहीं कर रहा है हमने ओरेकल जेडीके 8u77 से 8u92 तक अपग्रेड किया और अचानक स्क्रिप्ट जो पहले काम नहीं कर रही थीं। एक न्यूनतम प्रतिलिपि प्रस्तुत है:नैशर्न अब बिगडेसिमल
Map<String, Object> attributes = Collections.singletonMap("GROSSREIMBAMOUNT", BigDecimal.ZERO);
String script = "GROSSREIMBAMOUNT.toFixed(2)";
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine jsEngine = mgr.getEngineByName("JavaScript");
for (Entry<String, Object> entry : attributes.entrySet()) {
jsEngine.put(entry.getKey(), entry.getValue());
}
System.out.println(jsEngine.eval(script));
पहले हम
0.00
मिला लेकिन अब हम हो रही है।
TypeError: GROSSREIMBAMOUNT.toFixed is not a function
typeof
अब object
रिटर्न जहां यह पहले से number
लौट आते हैं।
मेरा प्रश्न यह व्यवहार जानबूझकर या बग है? मैं सबसे पहले यह एक बग होगा लेकिन JDK-8010732 अन्यथा सुझाव देना प्रतीत होता है।
मुझे जेडीके 8 रिलीज नोट्स में इसका कोई उल्लेख नहीं मिला। @ हेंस-वॉलनोफर द्वारा संदर्भित बग https://bugs.openjdk.java.net/browse/JDK-8146264 है –