• interger.parseint(x)和(int)浅析


    看如下代码。

    class test02
    {
    public static void main(String[] args)
    {
    char  s2='a';
    String s1="12";
    double x=Double.parseDouble(s1);
    int y=(int)s2;//Integer.parseInt(s2);
    System.out.println(x+y);
    }
    }

    结果是109.0
    如果使用Integer.parseInt(s2);
    却会报错

    但是下面的代码
    class test02
    {
    public static void main(String[] args)
    {
    String s1="0.5",s2="12";
    double x=Double.parseDouble(s1);
    int y=Integer.parseInt(s2);//(int)s2;
    System.out.println(x+y);
    }
    }
    输出结果是12.5 使用(int)就会报错这是为什么呢


    首先我们来看看parseint()的参数是怎么定义的

    static int parseInt(String s) 
              将字符串参数作为有符号的十进制整数进行分析。 
    static int parseInt(String s, int radix) 
              使用第二个参数指定的基数,将字符串参数解析为有符号的整数。

    所以chars是字符型不能够用parseint()方法。

    然而大家不是问(int)x怎么可以把一个不是本身就不是Int的数据强制转为Int呢,在java中char是可以强制转为int的,转过来是ASCII   比如a就是97

    而第二个本来就是string所以直接interger.parseint成int就好了

  • 相关阅读:
    Spring bean的自动装配
    JSP三大指令
    JSP九大内置对象
    Java异常的捕获顺序(多个catch)
    Integer.parseInt(s)和Integer.valueOf(s)之间的区别
    mysql忘记密码(MySQL5.7)
    java的四种内部类
    内存泄露查询
    深度优先和广度优先比较
    循环队列
  • 原文地址:https://www.cnblogs.com/zhuzihan/p/8993768.html
Copyright © 2020-2023  润新知