diff --git a/jdk/java/lang/Double.js b/jdk/java/lang/Double.js index c4924f8..fac3e6d 100755 --- a/jdk/java/lang/Double.js +++ b/jdk/java/lang/Double.js @@ -10,6 +10,13 @@ jdk.imports['java.lang.Double'].load = async () => { Double.compare = (a, b) => { return a - b; }; + Double.valueOf = (a) => { + let val = Number(a); + if (isNaN(val)) { + throw new Error('NumberFormatException: For input string: ' + a); + } + return val; + }; Double.MAX_VALUE = Number.MAX_VALUE; Double.POSITIVE_INFINITY = Number.POSITIVE_INFINITY; Double.NEGATIVE_INFINITY = Number.NEGATIVE_INFINITY; diff --git a/jdk/java/lang/Float.js b/jdk/java/lang/Float.js index dd9a071..ceadcd7 100755 --- a/jdk/java/lang/Float.js +++ b/jdk/java/lang/Float.js @@ -6,6 +6,13 @@ jdk.imports['java.lang.Float'].load = async () => { Float.compare = (a, b) => { return a - b; }; + Float.valueOf = (a) => { + let val = Number(a); + if (isNaN(val)) { + throw new Error('NumberFormatException: For input string: ' + a); + } + return val; + }; Float.MAX_VALUE = Number.MAX_VALUE; Float.POSITIVE_INFINITY = Number.POSITIVE_INFINITY; Float.NEGATIVE_INFINITY = Number.NEGATIVE_INFINITY; diff --git a/jdk/java/lang/Integer.js b/jdk/java/lang/Integer.js index 02a6253..b513389 100755 --- a/jdk/java/lang/Integer.js +++ b/jdk/java/lang/Integer.js @@ -6,6 +6,13 @@ jdk.imports['java.lang.Integer'].load = async () => { Integer.compare = (a, b) => { return a - b; }; + Integer.valueOf = (a) => { + let val = Number(a); + if (isNaN(val)) { + throw new Error('NumberFormatException: For input string: ' + a); + } + return val; + }; Integer.MAX_VALUE = Number.MAX_VALUE; Integer.POSITIVE_INFINITY = Number.POSITIVE_INFINITY; Integer.NEGATIVE_INFINITY = Number.NEGATIVE_INFINITY; diff --git a/jdk/java/lang/Long.js b/jdk/java/lang/Long.js index 90f05ed..507a3b6 100755 --- a/jdk/java/lang/Long.js +++ b/jdk/java/lang/Long.js @@ -6,6 +6,13 @@ jdk.imports['java.lang.Long'].load = async () => { Long.compare = (a, b) => { return a - b; }; + Long.valueOf = (a) => { + let val = Number(a); + if (isNaN(val)) { + throw new Error('NumberFormatException: For input string: ' + a); + } + return val; + }; Long.MAX_VALUE = Number.MAX_VALUE; Long.POSITIVE_INFINITY = Number.POSITIVE_INFINITY; Long.NEGATIVE_INFINITY = Number.NEGATIVE_INFINITY; diff --git a/jdk/java/lang/Short.js b/jdk/java/lang/Short.js index d28792a..2c0e204 100755 --- a/jdk/java/lang/Short.js +++ b/jdk/java/lang/Short.js @@ -6,6 +6,13 @@ jdk.imports['java.lang.Short'].load = async () => { Short.compare = (a, b) => { return a - b; }; + Short.valueOf = (a) => { + let val = Number(a); + if (isNaN(val)) { + throw new Error('NumberFormatException: For input string: ' + a); + } + return val; + }; Short.MAX_VALUE = Number.MAX_VALUE; Short.POSITIVE_INFINITY = Number.POSITIVE_INFINITY; Short.NEGATIVE_INFINITY = Number.NEGATIVE_INFINITY; diff --git a/jdk/java/lang/String.js b/jdk/java/lang/String.js index d962470..8c83caf 100755 --- a/jdk/java/lang/String.js +++ b/jdk/java/lang/String.js @@ -34,4 +34,12 @@ jdk.imports['java.lang.String'].load = async () => { return new Formatter().format(format, ...args); }; jdk.java.lang.String = String; + + Number.prototype.toUpperCase = function () { + return this + ''; + }; + + Number.prototype.toLowerCase = function () { + return this + ''; + }; }; diff --git a/package.json b/package.json index 72d6ebe..5ebf36e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "java2js", - "version": "1.2.18", + "version": "1.2.19", "description": "Converts Java to JavaScript and runs it with a JS JDK", "main": "jdk.js", "scripts": {