首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

must implement the inherited abstract 如何解决

2012-12-27 
must implement the inherited abstract 怎么解决出错信息:must implement the inherited abstractmethod

must implement the inherited abstract 怎么解决
出错信息:
must implement the inherited abstract 
 method TypeConverter.convertIfNecessary(Object, Class<T>, Field)

代码如下:

引用
import java.util.Date;

import net.paoding.rose.web.paramresolver.ResolverFactoryImpl.DateEditor;

import org.springframework.beans.SimpleTypeConverter;
import org.springframework.beans.TypeConverter;
import org.springframework.beans.TypeMismatchException;
import org.springframework.core.MethodParameter;

public class ThreadSafedSimpleTypeConverter implements TypeConverter {

    @SuppressWarnings("unchecked")
    @Override
    public Object convertIfNecessary(Object value, Class requiredType) throws TypeMismatchException {
        return simpleTypeConverters.get().convertIfNecessary(value, requiredType);
    }

    @SuppressWarnings("unchecked")
    @Override
    public Object convertIfNecessary(Object value, Class requiredType, MethodParameter methodParam)
            throws TypeMismatchException {
        return simpleTypeConverters.get().convertIfNecessary(value, requiredType, methodParam);
    }

    ThreadLocal<SimpleTypeConverter> simpleTypeConverters = new ThreadLocal<SimpleTypeConverter>() {

        @Override
        protected SimpleTypeConverter initialValue() {
            return createSimpleTypeConverter();
        }
    };

    public SimpleTypeConverter getSimpleTypeConverter() {
        return simpleTypeConverters.get();
    }

    protected SimpleTypeConverter createSimpleTypeConverter() {
        // simpleTypeConverter is not for concurrency!
        SimpleTypeConverter simpleTypeConverter = new SimpleTypeConverter();
        simpleTypeConverter.useConfigValueEditors();
        simpleTypeConverter.registerCustomEditor(Date.class, new DateEditor(Date.class));
        simpleTypeConverter.registerCustomEditor(java.sql.Date.class, new DateEditor(
                java.sql.Date.class));
        simpleTypeConverter.registerCustomEditor(java.sql.Time.class, new DateEditor(
                java.sql.Time.class));
        simpleTypeConverter.registerCustomEditor(java.sql.Timestamp.class, new DateEditor(
                java.sql.Timestamp.class));
        return simpleTypeConverter;


    }
}


[解决办法]
还有这个方法没实现:TypeConverter.convertIfNecessary(Object, Class<T>, Field)
[解决办法]
还有这个方法没实现:TypeConverter.convertIfNecessary(Object, Class<T>, Field)


正常来说,LZ的接口里面有这个方法,如果不全部实现,你这应该编译报错才对!
[解决办法]
怎么处理呢,现在有点茫然了
[解决办法]
基础都没学,就开始搞框架了
[解决办法]
如果加上代码
package net.paoding.rose.web.paramresolver;

import java.lang.reflect.Field;
import java.util.Date;

import net.paoding.rose.web.paramresolver.ResolverFactoryImpl.DateEditor;

import org.springframework.beans.SimpleTypeConverter;
import org.springframework.beans.TypeConverter;
import org.springframework.beans.TypeMismatchException;
import org.springframework.core.MethodParameter;

public class ThreadSafedSimpleTypeConverter implements TypeConverter {

    @SuppressWarnings("unchecked")
    //@Override
    public Object convertIfNecessary(Object value, Class requiredType) throws TypeMismatchException {
        return simpleTypeConverters.get().convertIfNecessary(value, requiredType);
    }

    @SuppressWarnings("unchecked")
    //@Override
    public Object convertIfNecessary(Object value, Class requiredType, MethodParameter methodParam)
            throws TypeMismatchException {
        return simpleTypeConverters.get().convertIfNecessary(value, requiredType, methodParam);
    }

    ThreadLocal<SimpleTypeConverter> simpleTypeConverters = new ThreadLocal<SimpleTypeConverter>() {

        //@Override
        protected SimpleTypeConverter initialValue() {
            return createSimpleTypeConverter();
        }
    };

    public SimpleTypeConverter getSimpleTypeConverter() {
        return simpleTypeConverters.get();
    }

    protected SimpleTypeConverter createSimpleTypeConverter() {
        // simpleTypeConverter is not for concurrency!
        SimpleTypeConverter simpleTypeConverter = new SimpleTypeConverter();
        simpleTypeConverter.useConfigValueEditors();
        simpleTypeConverter.registerCustomEditor(Date.class, new DateEditor(Date.class));
        simpleTypeConverter.registerCustomEditor(java.sql.Date.class, new DateEditor(
                java.sql.Date.class));


        simpleTypeConverter.registerCustomEditor(java.sql.Time.class, new DateEditor(
                java.sql.Time.class));
        simpleTypeConverter.registerCustomEditor(java.sql.Timestamp.class, new DateEditor(
                java.sql.Timestamp.class));
        return simpleTypeConverter;
    }

@Override
public <T> T convertIfNecessary(Object arg0, Class<T> arg1)
throws TypeMismatchException {
// TODO Auto-generated method stub
return null;
}

@Override
public <T> T convertIfNecessary(Object arg0, Class<T> arg1,
MethodParameter arg2) throws TypeMismatchException {
// TODO Auto-generated method stub
return null;
}

@Override
public <T> T convertIfNecessary(Object arg0, Class<T> arg1, Field arg2)
throws TypeMismatchException {
// TODO Auto-generated method stub
return null;
}
}


[解决办法]
    public Object convertIfNecessary(Object value, Class requiredType) throws TypeMismatchException {
        return simpleTypeConverters.get().convertIfNecessary(value, requiredType);
    }

    @SuppressWarnings("unchecked")
    //@Override
    public Object convertIfNecessary(Object value, Class requiredType, MethodParameter methodParam)
            throws TypeMismatchException {
        return simpleTypeConverters.get().convertIfNecessary(value, requiredType, methodParam);
    }
报错:
Multiple markers at this line
- Method convertIfNecessary(Object, Class) has the same erasure 
 convertIfNecessary(Object, Class<T>) as another method in type 
 ThreadSafedSimpleTypeConverter
- implements org.springframework.beans.TypeConverter.convertIfNecessary
- Class is a raw type. References to generic type Class<T> should be parameterized


@Override
public <T> T convertIfNecessary(Object arg0, Class<T> arg1)
throws TypeMismatchException {
// TODO Auto-generated method stub
return null;
}

@Override
public <T> T convertIfNecessary(Object arg0, Class<T> arg1,
MethodParameter arg2) throws TypeMismatchException {
// TODO Auto-generated method stub
return null;
}
报错;
Method convertIfNecessary(Object, Class<T>, MethodParameter) has the same erasure 
 convertIfNecessary(Object, Class<T>, MethodParameter) as another method in type 
 ThreadSafedSimpleTypeConverter



[解决办法]
感谢大家自己已经搞定了

热点排行