Initial commit
This commit is contained in:
69
sources/com/google/gson/internal/LazilyParsedNumber.java
Normal file
69
sources/com/google/gson/internal/LazilyParsedNumber.java
Normal file
@@ -0,0 +1,69 @@
|
||||
package com.google.gson.internal;
|
||||
|
||||
import java.io.ObjectStreamException;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class LazilyParsedNumber extends Number {
|
||||
private final String value;
|
||||
|
||||
public LazilyParsedNumber(String str) {
|
||||
this.value = str;
|
||||
}
|
||||
|
||||
private Object writeReplace() throws ObjectStreamException {
|
||||
return new BigDecimal(this.value);
|
||||
}
|
||||
|
||||
@Override // java.lang.Number
|
||||
public double doubleValue() {
|
||||
return Double.parseDouble(this.value);
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof LazilyParsedNumber)) {
|
||||
return false;
|
||||
}
|
||||
String str = this.value;
|
||||
String str2 = ((LazilyParsedNumber) obj).value;
|
||||
return str == str2 || str.equals(str2);
|
||||
}
|
||||
|
||||
@Override // java.lang.Number
|
||||
public float floatValue() {
|
||||
return Float.parseFloat(this.value);
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return this.value.hashCode();
|
||||
}
|
||||
|
||||
@Override // java.lang.Number
|
||||
public int intValue() {
|
||||
try {
|
||||
try {
|
||||
return Integer.parseInt(this.value);
|
||||
} catch (NumberFormatException unused) {
|
||||
return new BigDecimal(this.value).intValue();
|
||||
}
|
||||
} catch (NumberFormatException unused2) {
|
||||
return (int) Long.parseLong(this.value);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // java.lang.Number
|
||||
public long longValue() {
|
||||
try {
|
||||
return Long.parseLong(this.value);
|
||||
} catch (NumberFormatException unused) {
|
||||
return new BigDecimal(this.value).longValue();
|
||||
}
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user