parseInt(),intValue()和valueOf()方法

intValue()
1.intValue()是java.lang.Number类的方法,Number是一个抽象类。Java中所有的数值类都继承它。也就是说,不单是Integer有intValue方法,Double,Long等都有此方法。
2.此方法的意思是:输出int数据。每个数值类中具体的实现是不同的。例如:
Float类和Double类的intValue方法,就是丢掉了小数位,而Long的intValue方法又不一样的

Double s = 2.5;
Float k = 2.7f;
double kk = 2.9;
Double double1 = new Double(2.9);

System.out.println(k.intValue());
System.out.println(s.intValue());

输出结果:
2
2

valueOf()

String 类中的valueOf():

static String valueOf(boolean b)
返回 boolean 参数的字符串表示形式。
static String valueOf(Object obj)
返回 Object 参数的字符串表示形式。
表示的是将( )中的 值, 转换 成 字符串类型

eg.

String a = "abcdefbac";
String kkk = a.valueOf(true);
System.out.println(kkk.getBytes());
System.out.println(Arrays.toString(kkk.getBytes()));

输出结果:
[B@4554617c
[116, 114, 117, 101]

原因分析:

因为a.valueOf(true) 与 a 其实没有关系(String a = null ,也是可以的 ),主要是将()中的值变成字符串类型。
字符串类型通过.getbytes() 转成 字符数组输出的是:字符数组的首地址的 hashcode 值

通过Arrays.toString()方法 可以输出 字符数组中的内容。

数据类型的转换方式:

所以有如下转换方式:

Double s = 2.5;
System.out.println(s.valueOf(2.5f));
System.out.println(s.valueOf("2"));

输出结果:
2.5
2.0

Float k = 2.7f;
System.out.println(k.valueOf(2.9f));
System.out.println(k.valueOf("2.533435"));
System.out.println(k.valueOf((float) 2.5d));

输出结果:
2.9
2.533435
2.5

Integer aa = 9;
System.out.println(aa.valueOf("23.0"));

输出结果:
报错Exception in thread “main” java.lang.NumberFormatException: For input string: “23.0”
原因:因为"23.0" 默认是double类型的,而aa类型是int。又因为"23.0"是字符串,无法强制转换
只能是

System.out.println(aa.valueOf((int)23.0));强转类型必须和aa一致

Java parseInt() 方法
Java Number类

parseInt() 方法用于将字符串参数作为有符号的十进制整数进行解析。
如果方法有两个参数, 使用第二个参数指定的基数,将字符串参数解析为有符号的整数。
语法
所有 Number 派生类 parseInt 方法格式类似如下:

static int parseInt(String s)

static int parseInt(String s, int radix)

参数
s – 十进制表示的字符串。
radix – 指定的基数。
返回值
parseInt(String s): 返回用十进制参数表示的整数值。
parseInt(int i): 使用指定基数的字符串参数表示的整数 (基数可以是 10, 2, 8, 或 16 等进制数) 。
实例

public class Test{
    public static void main(String args[]){
        int x =Integer.parseInt("9");
        double c = Double.parseDouble("5");
        int b = Integer.parseInt("444",16);

        System.out.println(x);
        System.out.println(c);
        System.out.println(b);
    }
}

编译以上程序,输出结果为:

9
5.0
1092
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值