今天看了一下,parseInt和parseDouble,parseFloat等方法,发现Double那种在字符串中开始位置处包含“+”号不会抛出异常,而对于Integer那种反而能抛出异常,这点很奇怪。。。。
我看了parseInt的源代码,我觉得在前面加上控制“+”号的字符串解析应该是没问题的,这点很纳闷,不知道当初Sun的程序员设计考虑了什么因素,导致在Integer中不能用"+"号。
这里面的不知道有什么设计哲学?我觉得是不是因为考虑想审下键入“+”号的时间O(∩_∩)O。
不过从oracle的网站上找到了答案,这个是被报告为bug的(需增强的),jdk的开发人员认为这是合理的需求,将在未来的版本中得到解决。我看了一下,现在jdk 7的文档,里面已经说可以支持“+”号了。
下面两个链接是bug的网址:
http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=e13c96c11b702967268a3d1eb7abd?bug_id=5017980
http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=196597bb37b6a4502302efdf21d?bug_id=6233144
这是jdk 7的Integer的文档地址:
http://download.oracle.com/javase/7/docs/api/java/lang/Integer.html#parseInt%28java.lang.String%29
分享到:
相关推荐
`Double.parseDouble`是Java中用于将字符串转换为`double`型数值的一种方法。此方法接收一个字符串参数`s`,该字符串应能够被解析为一个合法的双精度浮点数。如果字符串可以被成功解析,则返回对应的`double`值;...
例如,`Integer.parseInt()`方法将字符串转换为整数,`Object.toString()`方法将对象转换为字符串。 5. 数组类型转换 当数组的元素类型不匹配时,可以通过数组拷贝的方式进行类型转换。例如,从Object[]转换为...
包装器类提供了`valueOf`方法,能够将字符串转换为对应的包装类对象。例如,`Byte.valueOf("120")`会尝试将字符串"120"转换为Byte对象。如果转换过程中遇到无法解析的字符串,如非数字的字符,会抛出`...
在Java中,将字符串转换为数字通常使用`parseXXX()`方法,如`parseByte()`, `parseInt()`, `parseShort()`和`parseLong()`。反之,将数字转换为字符串则可使用`toString()`方法,此外还有如`toBinaryString()`, `...
在Java中,可以使用如parseXXX()系列方法将字符串转换为对应的数值类型,例如,parseInt("123")会返回一个整数123。反之,通过toString()方法可以将数值类型转化为字符串,如Integer.toString(123)。 7.2 System类 ...
2. **字符串转换为数值** - 使用 `parseXXX()` 方法 - 使用 `valueOf()` 方法 **示例代码**: ```java String str1 = "100"; int i1 = Integer.parseInt(str1); String str2 = "100"; int i2 = Integer....
- **字符串转基本类型**:可以通过相应包装类的`parseXxx()`方法将字符串转换为基本数据类型。例如,使用`Integer.parseInt()`将字符串转换为整型。 - **基本类型转字符串**:可以使用`String.valueOf()`方法将基本...
- `Integer.parseInt("12345")`演示了如何将字符串转换为整数。 - `Integer.toBinaryString(-2)`、`Integer.toHexString(10)`和`Integer.toOctalString(1231)`分别展示了如何将整数转换为二进制、十六进制和八进制...
例如,将字符串转换为整数:String strNum = "1234";int num = Integer.parseInt(strNum);将数值转换为字符串:int value = 5678;String strValue = value.toString();7.2.4 Exception 类异常处理是 Java 程序设计的...
- 字符串转数值:使用`parseXXX`方法,如`Integer.parseInt()`。 - 数值转字符串:通过`+""`连接或者`toString()`方法,如`num+"", num.toString()`。 4. **输出差异**: - Java使用`System.out.print()`或`...
从控制台读取的用户输入默认为字符串类型,如果需要将其转换为数值类型,可以使用相应的包装类(如 `Integer`、`Float`)提供的 `parseXxx()` 方法。 示例: ```java String str = "123"; int num = Integer....
- **Byte、Short、Integer、Long** 类分别对应于byte、short、int和long的基本类型,提供了构造函数和转换方法,如`parseByte()`、`parseInt()`、`parseShort()`、`parseLong()`,以及将数字转换为字符串的方法。...
- **String转数据类型**:使用相应包装类的`parseXXX()`方法,如:`Integer.parseInt("123")`。 #### 三、运算符 ##### 3.1 算术运算符 - `+`:加法/字符串拼接 - `-`:减法 - `*`:乘法 - `/`:除法 - `%`:取模 ...