使用Java匿名类直接实例化接口

可以通过new来直接创建一个接口的临时实现。直接上代码:

public class DataType {

public interface TypeConvention {
    float toFloat(Object value);
    String toString(Object value);
    int toInt(Object value);
    boolean match(String type);
}


public static final TypeConvention FLOAT = new TypeConvention() {

    @Override
    public String toString(Object value) {
        return null;
    }

    @Override
    public int toInt(Object value) {
        return 0;
    }

    @Override
    public float toFloat(Object value) {
        return 0;
    }

    @Override
    public boolean match(String type) {
        return "float".equals(type.trim().toLowerCase());
    }

};

public static void main(String[] args) {
    //process float data type
    if (DataType.FLOAT.match("float")) {
        //TODO
    }
}

}

代码中,new TypeConvention (){..}实现了接口的所有方法。
接口TypeConvention 可以单独创建一个接口类,还可以增加其他类型的实现,比如STRING, DECIMAL等。

你可能感兴趣的:(Java)