如何通过一个封装类实现基本数据类型和引用数据类型的转换,比如你输入一个String“123”,返回一个int123   不是返回这一个,也可以返回boolean ,char , ...  详解

解决方案 »

  1.   

    不太明白你的意思,这样?
    public class Test2 {    public static void main(String[] args) throws IOException {
            String str = "1234";        Test2 test = new Test2();
            int num = test.convert(str);
            System.out.println(num);
        }    public int convert(String str) {
            return Integer.parseInt(str);
        }}
      

  2.   

    他说的应该是输入String串,然后输出准确的类型
      

  3.   

    返回多种类型的?返回类型用Object或泛型,可以返回Byte、Integer、Character、Boolean...等类型,不过你确定要这么做?感觉没什么意义,拿到结果你又要去判断是什么类型,再转回来,用起来并不方便直观。
      

  4.   


    String类型和int类型转换本来就有干嘛要重新封装?int i=Integer.valueOf(String s);
      

  5.   

    楼主想说的应该是输入一个字符串 如果是数值就转换为数值类型 如果是字符就转换为char等等吧,数值要转换为什么类型,比如1,是转换成int?short还是byte或者long,如果说long要用1l表示的话,那遇到1l转换成字符串还是long,这个应该在需要用什么类型的时候再去尝试转换才合适吧
      

  6.   

    大概这么个意思  传入一个 Type type,String str,根据Type类型确定str的类型,再将确定类型的str返回
      

  7.   

    那就判断类型转呗,反正类型就那么几种,每个类型和String类型都有互相转化的方法
      

  8.   

    public static void main(String[] args) {
            conver(Float.class, "123");
        }    private static <T> T conver(Class<T> t, String str) {
            
            if (t == Integer.class) {
                return (T) Integer.valueOf(str);
            } else if (t == Boolean.class) {
                return (T) Boolean.valueOf(str);
            } else if (t == Character.class) {
                return (T) Character.valueOf(str.toCharArray()[0]);
            } else if (t == Float.class) {
                return (T) Float.valueOf(str);
            } else if (t == Double.class) {
                return (T) Double.valueOf(str);
            } else if (t == Short.class) {
                return (T) Short.valueOf(str);
            } else if (t == Long.class) {
                return (T) Long.valueOf(str);
            } else {
                // 在这里补充其他的
                System.out.println("。");
                return null;
            }
        }