每天一道Java题[4]
问题
怎么将字符串转换为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文档,可以知道:


从文档中可以看出,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题[4]的更多相关文章
- 每天一道Java题[3]
问题 为什么在重写equals()方法的同时,必须重写hashCode()方法? 解答 在<每天一道Java题[2]>中,已经对hashCode()能否判断两个对象是否相等做出了解释.eq ...
- 每天一道Java题[11]
题目 synchronized怎么实现线程同步?请修改<每天一道Java题[10]>中的MyRunnableThread类以解决三个线程都获取到10的问题. 解答 方法一: 采用synch ...
- 每天一道Java题[6]
题目 String字符串怎么转换为Date,Date又怎么转换成String字符串 解答 String->Date 主要用到类SimpleDateFormat及其抽象父类DateFormat中的 ...
- 每天一道Java题[9]
题目 native关键字的作用是什么? 解答 首先,需了解JNI(Java Native Interface),它是连接Java平台与本地C代码的一个API. 其次,用native关键字声明的方法,是 ...
- 每天一道Java题[1]
问题:char[]与String相比,有什么优胜的地方? 回答: 针对安全保密高的信息,char[]比String做得更好.因为String是不可变得,即使你修改原先的变量,实际上也是在内存中新建一个 ...
- 每天一道Java题[2]
问题 可以直接根据hashCode()方法产生的值判断两个对象是否相等吗? 解答 不能!根据Wikipedia(https://en.wikipedia.org/wiki/Java_hashCode( ...
- 每天一道Java题[5]
题目 String.StringBuilder.StringBuffer有什么异同? 解答 相同点:String.StringBuilder.StringBuffer都可以用来存储字符串. 不同点: ...
- 每天一道Java题[7]
题目 什么是REST原则,请解释RESTful架构,以及其设计思想? 解答 REST,全称为Representation State Transfer,是一种互联网软件的架构原则.凡是满足REST原则 ...
- 每天一道Java题[10]
题目 阐述创建线程最常用的两种方法及其对比. 解答 方法一:继承Thread类实现 步骤: 创建Thread类的子类,如MyThread. 重写Thread类的run()方法. 实例化MyThread ...
随机推荐
- jemeter正则表达式
- Weblogic+apache多虚拟主机
p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; f ...
- laravel资源路由详解
大概挑两条解释. 我定义了个资源路由Route::resource('article', 'ArticleController');. 当我访问地址ArticleController的http://y ...
- 老李推荐:第14章4节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-装备ViewServer-端口转发 3
formAdbRequest我们在之前已经分析过,做的事情就是组建好ADB协议的命令以待发送给ADB服务器,在我们558行中最终组建好的ADB协议命令将会如下: “host-serial:xxx:fo ...
- span表情输入框 --- Author: rose && lvyerose@163.com
像QQ等社交聊天中,不可或缺的一部分就是我们常用的表情输入了,有时候有趣的表情同样能吸引住用户达到用户常驻的效果,当然,我们开发的时候不用去研究如何才能做到有趣,如何才能做到足够吸引用户,我们 ...
- windows系统System32中各种实用的工具
工具类 这些工具可以直接打开运行 输入名字就可以调出来了 我还会上传一个java程序,运行后会显示一个界面,直接调用这些工具 1.SnippingTool.exe 截图 2.calc.exe ...
- 03 Types of Learning
学习的分类: 根据输出空间Y:分类(二分类.多分类).回归.结构化(监督学习+输出空间有结构): 根据标签y:监督学习.无监督学习(聚类.密度估计.异常点检测).半监督学习(标注成本高时).强化学习: ...
- mpush 服务器环境配置安装 CentOS 7 and Windows
github-doc https://github.com/mywiki/mpush-doc/blob/master/SUMMARY.md Introduction 1.服务器环境 2.安装Redis ...
- DHTMLX 修改方法加参数
dhtmlx下拉框选项过长,导致显示不全,所以在下拉框里加了title 具体方法如下: dhtmlXCombo.prototype.modes.checkbox.render=function(c, ...
- 解决md5不是windows平台FIPS验证的加密算法的一部分的怪异问题
一. 发生问题 临近下班时间的下午,领导一句话:项目先上到测试服吧,我明早来看看. 我想项目还没做完,先上到测试服务器,简单看下应该是没什么问题,部署也只是一会儿的事嘛,随后把手头的项目编译,发布,拷 ...