每天一道Java题[4]
2017-05-16 22:49
211 查看
问题
怎么将字符串转换为int?
解答
此题看似简单,但经常出现在笔试等地方,由于大家习惯了用IDE,有什么还真未必能写出来。通常都是parseInt()方法进行转换,如下:
Int n = Integer.parseInt("123");
发散思考
1.除了parseInt()方法外,还有什么其它方法可以让String转换为int吗?float、double、long、short那些又是怎么从String转换的?
解答:除了parseInt()方法以外,还可以用valueOf()方法。如下皆可:
对于float、double、long、short等,都有对应的parse方法,和valueOf()可用。
2.parseInt()和valueOf()有什么不一样?
解答:看Integer的API文档,可以知道:
![](https://images2015.cnblogs.com/blog/311012/201705/311012-20170516224703572-1064149819.png)
![](https://images2015.cnblogs.com/blog/311012/201705/311012-20170516224704228-329716129.png)
从文档中可以看出,parseInt()返回int型,而valueOf()返回Integer。当valueOf()返回的值直接付给int的时候,JRE会自动处理转换,也可以指明用Integer.intValue()方法来转化。故第一题上两条语句都行。
3.包装类怎么转换基本类?
解答:此处就用到第二题提到的intValue()方法了。如
如Long转换int:Long l = 10L; int I = l.intValue();
其他的转化同理。
参考代码:
怎么将字符串转换为int?
解答
此题看似简单,但经常出现在笔试等地方,由于大家习惯了用IDE,有什么还真未必能写出来。通常都是parseInt()方法进行转换,如下:
Int n = Integer.parseInt("123");
发散思考
1.除了parseInt()方法外,还有什么其它方法可以让String转换为int吗?float、double、long、short那些又是怎么从String转换的?
解答:除了parseInt()方法以外,还可以用valueOf()方法。如下皆可:
int i2 = Integer.valueOf(intString); int i3 = Integer.valueOf(intString).intValue();
对于float、double、long、short等,都有对应的parse方法,和valueOf()可用。
2.parseInt()和valueOf()有什么不一样?
解答:看Integer的API文档,可以知道:
![](https://images2015.cnblogs.com/blog/311012/201705/311012-20170516224703572-1064149819.png)
![](https://images2015.cnblogs.com/blog/311012/201705/311012-20170516224704228-329716129.png)
从文档中可以看出,parseInt()返回int型,而valueOf()返回Integer。当valueOf()返回的值直接付给int的时候,JRE会自动处理转换,也可以指明用Integer.intValue()方法来转化。故第一题上两条语句都行。
3.包装类怎么转换基本类?
解答:此处就用到第二题提到的intValue()方法了。如
如Long转换int:Long l = 10L; int I = l.intValue();
其他的转化同理。
参考代码:
package me.huangzijian;
public class ConvertExample {
public static void main(String[] args) {
String intString = "123";
int i1 = Integer.parseInt(intString);
int i2 = Integer.valueOf(intString); int i3 = Integer.valueOf(intString).intValue();
Long l = 123L;
int i4 = l.intValue();
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
}
}
相关文章推荐
- java将一个正整数分解质因数(每天一道算法题)
- 每天一道算法题(四) (动态规划算法)01背包问题Java实现
- 每天一道编程题(十)---------java竞赛称砝码问题
- 每天一道Java题[11]
- 每天一道Java题[10]
- 每天一道算法题(五)Leetcode – Word Break (Java)
- 每天一道Java题(1)
- 每天一道Java题[2]
- 每天一道算法题(1)——在二元树中找出和为某一值的所有路径(java代码)
- 每天一道Java题[7]
- java实现最大公约数和最小公倍数(每天一道算法题)
- 每天一道算法题(一) (动态规划算法)背包问题Java实现
- 每天一道Java题[5]
- 每天一道Java题[9]
- 每天一道算法题(七)Leetcode – Word BreakII (Java)
- 每天一道Java题[6]
- Java 50道经典入门题,坚持每天复习一道!
- 每天一道算法题(六)深度优先算法(DFS)学习及Java实现
- 每天一道Java题[8]
- 每天一道Java题[3]