package com.google.gson; import com.google.gson.internal.C$Gson$Preconditions; import com.google.gson.internal.LazilyParsedNumber; import java.math.BigDecimal; import java.math.BigInteger; /* loaded from: classes.dex */ public final class JsonPrimitive extends JsonElement { private static final Class[] PRIMITIVE_TYPES = {Integer.TYPE, Long.TYPE, Short.TYPE, Float.TYPE, Double.TYPE, Byte.TYPE, Boolean.TYPE, Character.TYPE, Integer.class, Long.class, Short.class, Float.class, Double.class, Byte.class, Boolean.class, Character.class}; private Object value; public JsonPrimitive(Boolean bool) { setValue(bool); } private static boolean isIntegral(JsonPrimitive jsonPrimitive) { Object obj = jsonPrimitive.value; if (!(obj instanceof Number)) { return false; } Number number = (Number) obj; return (number instanceof BigInteger) || (number instanceof Long) || (number instanceof Integer) || (number instanceof Short) || (number instanceof Byte); } private static boolean isPrimitiveOrString(Object obj) { if (obj instanceof String) { return true; } Class cls = obj.getClass(); for (Class cls2 : PRIMITIVE_TYPES) { if (cls2.isAssignableFrom(cls)) { return true; } } return false; } @Override // com.google.gson.JsonElement public JsonPrimitive deepCopy() { return this; } public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null || JsonPrimitive.class != obj.getClass()) { return false; } JsonPrimitive jsonPrimitive = (JsonPrimitive) obj; if (this.value == null) { return jsonPrimitive.value == null; } if (isIntegral(this) && isIntegral(jsonPrimitive)) { return getAsNumber().longValue() == jsonPrimitive.getAsNumber().longValue(); } if (!(this.value instanceof Number) || !(jsonPrimitive.value instanceof Number)) { return this.value.equals(jsonPrimitive.value); } double doubleValue = getAsNumber().doubleValue(); double doubleValue2 = jsonPrimitive.getAsNumber().doubleValue(); if (doubleValue != doubleValue2) { return Double.isNaN(doubleValue) && Double.isNaN(doubleValue2); } return true; } @Override // com.google.gson.JsonElement public BigDecimal getAsBigDecimal() { Object obj = this.value; return obj instanceof BigDecimal ? (BigDecimal) obj : new BigDecimal(obj.toString()); } @Override // com.google.gson.JsonElement public BigInteger getAsBigInteger() { Object obj = this.value; return obj instanceof BigInteger ? (BigInteger) obj : new BigInteger(obj.toString()); } @Override // com.google.gson.JsonElement public boolean getAsBoolean() { return isBoolean() ? getAsBooleanWrapper().booleanValue() : Boolean.parseBoolean(getAsString()); } @Override // com.google.gson.JsonElement Boolean getAsBooleanWrapper() { return (Boolean) this.value; } @Override // com.google.gson.JsonElement public byte getAsByte() { return isNumber() ? getAsNumber().byteValue() : Byte.parseByte(getAsString()); } @Override // com.google.gson.JsonElement public char getAsCharacter() { return getAsString().charAt(0); } @Override // com.google.gson.JsonElement public double getAsDouble() { return isNumber() ? getAsNumber().doubleValue() : Double.parseDouble(getAsString()); } @Override // com.google.gson.JsonElement public float getAsFloat() { return isNumber() ? getAsNumber().floatValue() : Float.parseFloat(getAsString()); } @Override // com.google.gson.JsonElement public int getAsInt() { return isNumber() ? getAsNumber().intValue() : Integer.parseInt(getAsString()); } @Override // com.google.gson.JsonElement public long getAsLong() { return isNumber() ? getAsNumber().longValue() : Long.parseLong(getAsString()); } @Override // com.google.gson.JsonElement public Number getAsNumber() { Object obj = this.value; return obj instanceof String ? new LazilyParsedNumber((String) obj) : (Number) obj; } @Override // com.google.gson.JsonElement public short getAsShort() { return isNumber() ? getAsNumber().shortValue() : Short.parseShort(getAsString()); } @Override // com.google.gson.JsonElement public String getAsString() { return isNumber() ? getAsNumber().toString() : isBoolean() ? getAsBooleanWrapper().toString() : (String) this.value; } public int hashCode() { long doubleToLongBits; if (this.value == null) { return 31; } if (isIntegral(this)) { doubleToLongBits = getAsNumber().longValue(); } else { Object obj = this.value; if (!(obj instanceof Number)) { return obj.hashCode(); } doubleToLongBits = Double.doubleToLongBits(getAsNumber().doubleValue()); } return (int) ((doubleToLongBits >>> 32) ^ doubleToLongBits); } public boolean isBoolean() { return this.value instanceof Boolean; } public boolean isNumber() { return this.value instanceof Number; } public boolean isString() { return this.value instanceof String; } void setValue(Object obj) { if (obj instanceof Character) { this.value = String.valueOf(((Character) obj).charValue()); } else { C$Gson$Preconditions.checkArgument((obj instanceof Number) || isPrimitiveOrString(obj)); this.value = obj; } } public JsonPrimitive(Number number) { setValue(number); } public JsonPrimitive(String str) { setValue(str); } public JsonPrimitive(Character ch) { setValue(ch); } JsonPrimitive(Object obj) { setValue(obj); } }