码迷,mamicode.com
首页 > 其他好文 > 详细

String.valueOf()和toString()方法

时间:2017-04-20 15:18:25      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:str   符号   符号位   com   java   string   取反   表示   val   

1 public static String valueOf(Object obj) {
2 return (obj == null) ? "null" : obj.toString();
3 }

避免空指针

将 byte 类型的的每一位都置 1方法:

// 方式1
byte allBitsOne = (byte)0xFF;
// 方式2
byte allBitsOne = 0xFFFFFFFF;

为什么方式 1 可以呢?

因为 0xFF 这个 32 位整型来说,低 8 位都是 1,现在用 (byte) 强制转换一下,将其多余的高位都丢弃,于是剩下的 8 位都是 1 的 byte 赋值给左边。

为什么方式 2 可以呢?

因为在 Java 中,整型字面量(literal integers)是采用的固定的有符号 32 位整型来表示的。并且是采用的补码的形式,那么对于 0xFFFFFFFF 它所表示的数的绝对值就是各位按位取反后 + 1,可以知道绝对值是 1,而最高位是符号位,于是表示的就是 -1,再根据 byte 类型在 Java 中可以表示 -128~127,所以可以赋值,而 -1 在 byte 类型上就是每一位都是 1

 

String.valueOf()和toString()方法

标签:str   符号   符号位   com   java   string   取反   表示   val   

原文地址:http://www.cnblogs.com/apperception/p/6738887.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!