读书人

must implement the inherited abstra

发布时间: 2012-12-27 10:17:09 作者: rapoo

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



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

读书人网 >Eclipse开发

热点推荐