为了账号安全,请及时绑定邮箱和手机立即绑定

为什么字符串转换为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();
    }

哪有问题

正在回答

3 回答

因为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);


0 回复 有任何疑惑可以回复我~
#1

qq_慕姐9261892 提问者

这个运行结果,是“8”;我理解的字符串是字母,数字也算字符串吗,那为什不直接用其他类型转换还简单;用String转换成int还麻烦
2019-06-07 回复 有任何疑惑可以回复我~
#2

奶尤糯米团子

请教一下,parseInt()方法不是用来把字符串类型转换为int类型吗?那不应该用int类型的变量接收(int ps1=Integer.parseInt(ps))嘛?为什么用Integer接收(Integer ps1=Integer.parseInt(ps))呢?
2020-02-24 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
Integer ps1=new Integer(ps);

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409792    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信