Long.decode可以解析以0x、0X、#、0开头的字符串,分别表示这个字符串是16或8进制的数字字符串,而valueOf只能解析纯数字的10进制字符串。
System.out.println(Long.decode("011")); // 8进制,输出9.
System.out.println(Long.decode("#11")); // 16进制,输出17.
System.out.println(Long.decode("0X11"));// 16进制,输出17.
System.out.println(Long.decode("0x11"));// 16进制,输出17.
System.out.println(Long.decode("11")); // 10进制,输出11.
System.out.println(Long.valueOf("011")); // 输出11.
System.out.println(Long.valueOf("#11")); // 出错.
System.out.println(Long.valueOf("0X11"));// 出错.
System.out.println(Long.valueOf("0x11"));// 出错.
System.out.println(Long.valueOf("11")); // 输出11.
Long.decode(String s)和Long.valueOf(String s)的区别
最新推荐文章于 2025-11-01 18:32:47 发布
本文探讨了Java中Long.decode与Long.valueOf方法的区别。decode能够解析不同进制(如8进制、16进制)的字符串,并将其转换为长整型数值;而valueOf仅能解析10进制纯数字字符串。文章通过实例演示了两种方法的应用场景。
686

被折叠的 条评论
为什么被折叠?



