关于网友提出的“ 字符串转数值,泛型类型转换问题”问题疑问,本网通过在网上对“ 字符串转数值,泛型类型转换问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 字符串转数值,泛型类型转换问题
描述: hi 我写了一个方法,用于将数值型字符串转换成数值的,但是数值型有byte/short/int/long/float/double等,我不想写多个相同功能的方法,请问各位是否有办法可以将以下方法合并成一个,我们只要将类型以泛型传入即可。
public static int parseInt(String str, int defaultValue)
{
try
{
return Integer.valueOf(str);
}
catch (NumberFormatException ex)
{
return defaultValue;
}
}
public static short parseShort(String str, short defaultValue)
{
...
}
public static long parseLong(String str, long defaultValue)
{
...
}
谢谢。
解决方案1:
/**
*
* @author
* @date 2014-4-27<>
* @param clazz
* @param numberStr
* @param defaultValue
* @return
*/
public static Number conv(Class extends Number> clazz, String numberStr, Number defaultValue) {
try {
if(Integer.class.isAssignableFrom(clazz)) {
return Integer.parseInt(numberStr);
} else if(Long.class.isAssignableFrom(clazz)) {
return Long.parseLong(numberStr);
} else if(Short.class.isAssignableFrom(clazz)) {
return Short.parseShort(numberStr);
} else if(Double.class.isAssignableFrom(clazz)) {
return Double.parseDouble(numberStr);
} else if(Float.class.isAssignableFrom(clazz)) {
return Float.parseFloat(numberStr);
}
} catch(Exception e) {
return defaultValue;
}
return defaultValue;
}
解决方案2: 顶楼上 的。看看吧。
以上介绍了“ 字符串转数值,泛型类型转换问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2082435.html