JsonValue、JsonString、JsonNumber源码翻译

package javax.json;
/**
 * 目的:定义JSON值的类型(不可变的JSON值)
 * 
 * 

JSON值有:{@link JsonObject}、{@link JsonArray} * {@link JsonNumber}、{@link JsonString} * JsonValue.TRUE、JsonValue.FALSE、JsonValue.NULL * @author TCM * @create 2017年11月3日上午10:31:23 */ public interface JsonValue { //JSON值的类型 enum ValueType { ARRAY, OBJECT, STRING, NUMBER, TRUE, FALSE, NULL } /** * JSON的NULL值,即:JsonValue.NULL */ static final JsonValue NULL = new JsonValue() { @Override public ValueType getValueType() { return ValueType.NULL; } @Override public boolean equals(Object obj) { if (obj instanceof JsonValue) { return getValueType().equals(((JsonValue)obj).getValueType()); } return false; } @Override public int hashCode() { return ValueType.NULL.hashCode(); } //返回字符串“null” @Override public String toString() { return "null"; } }; /** * JSON的TRUE值,即:JsonValue.TRUE */ static final JsonValue TRUE = new JsonValue() { @Override public ValueType getValueType() { return ValueType.TRUE; } @Override public boolean equals(Object obj) { if (obj instanceof JsonValue) { return getValueType().equals(((JsonValue)obj).getValueType()); } return false; } @Override public int hashCode() { return ValueType.TRUE.hashCode(); } //返回字符串“true” @Override public String toString() { return "true"; } }; /** * JSON的FALSE值,即:JsonValue.FALSE */ static final JsonValue FALSE = new JsonValue() { @Override public ValueType getValueType() { return ValueType.FALSE; } @Override public boolean equals(Object obj) { if (obj instanceof JsonValue) { return getValueType().equals(((JsonValue)obj).getValueType()); } return false; } @Override public int hashCode() { return ValueType.FALSE.hashCode(); } //返回字符串“false” @Override public String toString() { return "false"; } }; //获取JSON值的类型 ValueType getValueType(); @Override String toString(); }

package javax.json;
/**
 * 不可变的JSON字符串值
 * @author TCM
 * @create 2017年11月3日上午10:51:18
 */
public interface JsonString extends JsonValue {

    String getString();
    //返回JSON字符串值的char序列
    CharSequence getChars();
    @Override
    boolean equals(Object obj);
    @Override
    int hashCode();

}
package javax.json;

import java.math.BigDecimal;
import java.math.BigInteger;

/**
 * 目的:不变的JSON数值
 * 
 * 注意:这个类中的一些方法语义是使用BigDecimal语义定义的。
 * @author TCM
 * @create 2017年11月3日下午1:18:38
 */
public interface JsonNumber extends JsonValue {

    /**
     * 判定JSON数值是不是整数
     * 
     * 例如:
     * 	JsonNumber num = ...
 	 *	if (num.isIntegral()) {
     * 		num.longValue();     // or other methods to get integral value
 	 *	} else {
     *		num.doubleValue();   // or other methods to get decimal number value
 	 *	}
     * @return 返回true,是整数
     */
    boolean isIntegral();

    /**
     * @see java.math.BigDecimal#intValue()
     */
    int intValue();

    /**
     * @see java.math.BigDecimal#intValueExact()
     */
    int intValueExact();

    long longValue();
    long longValueExact();

    /**
     * @see java.math.BigDecimal#toBigInteger()
     */
    BigInteger bigIntegerValue();

    /**
     * @see java.math.BigDecimal#toBigIntegerExact()
     */
    BigInteger bigIntegerValueExact();

    double doubleValue();

    BigDecimal bigDecimalValue();

    @Override
    String toString();
    @Override
    boolean equals(Object obj);
    @Override
    int hashCode();

}

你可能感兴趣的:(javaEE)