问答详情
源自:3-1 Java 中的包装类

为什么字符串转换为int类型不真确 求指教

package com.imooc;

public class Goodv {
    public static void main(String[] args) {
        String ps = String.valueOf("ad");
        Integer ps1=new Integer(ps);
int ps2=ps1.intValue();
System.out.println();
    }

哪有问题

提问者:qq_慕姐9261892 2019-06-05 11:42

个回答

  • 向远之航
    2019-06-06 17:55:47
    已采纳

    因为ps是String类型的,需要转换成Int类型,你那样的识别类型是错误的。并且,即使将ps的字符串类型转换成int类型,ad本身即使字符串转换成int是要出错的,除非用一个数字。我觉得你想要做的是将字符串转化成int,以下的程序可以给你参考。注释的方法或者注释的下一行方法两种都可行(省略了main方法,只留了主题部分)。

    String ps = String.valueOf("8");        
    //Integer ps1 = Integer.valueOf(ps);        
    Integer ps1 = Integer.parseInt(ps);        
    int ps2=ps1.intValue();        
    System.out.println(ps2);


  • qq_慕码人5248226
    2019-07-23 16:58:39

    要想转成一个类型,它必须是那个类型,ad本就是字符串,无法转化成int类型

  • 慕粉0578318
    2019-06-06 17:16:33

    Integer ps1=new Integer(ps);

    这里传入的参数ps不应该是int型的吗