你好,游客 登录 注册 搜索
背景:
阅读新闻

Java String常见十大问题

[日期:2013-10-04] 来源:Linux社区  作者:peiquan [字体: ]

Technorati 标记: String,java

一、如何判断两个String是否相等??使用”==“还是使用”equals()“?

对String来说,”==“是用来判断两个字符串(对象)的地址是否相同,即判断是否是同一个字符串的应用。”equals()“则是判断两个字符串(对象)的值是否相等,如果相等则返回true。一般情况下,都是使用”equals()“来判断两个字符串的值是否相等,只有当你需要判断两个字符串是否是同一个对象时,才使用”==“。

String str1 = "abc";
String str2 = "abc";
String str3 = new String("abc");
System.out.println(str1 == str2);	//true
System.out.println(str1 == str3);	//false
System.out.println(str1.equals(str3));	//true

Java String与Blob类型数据转换 http://www.linuxidc.com/Linux/2012-11/73761.htm

需要了解更多关于java内存管理分配的,可以点击 http://www.linuxidc.com/Linux/2013-10/90925.htm

二、如何实现String与基本数据类型的装

首先了解一下如何将String转换为基本的数据类型。8个wrapper class(Integer,Double….)提供了相对应的方法parseXxx(String str)将字符串转换为基本的数据类型,如下:

String str1 = "123";
String str2 = "12.3";
String str3 = "true";
int a = Integer.parseInt(str1);	//123
double d = Double.parseDouble(str2);	//12.3
boolean flag = Boolean.parseBoolean(str3);	//true

 

也许会见过使用valueOf()的转换,如下:

String str1 = "123";
String str2 = "12.3";
String str3 = "true";
int a = Integer.valueOf(str1);	//123
double d = Double.valueOf(str2);	//12.3
boolean flag = Boolean.valueOf(str3);	//true

 

这种形式也行,只不过没有直接使用parseXxx()好,因为Integer.valueOf()返回的是Integer类型,再通过自动集装箱转换为基本数据类型,其方法原型如下:

public static Integer valueOf(String s)

 

注意的是,方法Boolean.parseBoolean(String str),只有在str为字符串“true”时(忽略大小写),才会返回true。换句话说就是其他字符串都是返回false。Boolean.parseBoolean(“yes”)将返回false。接着下来看一下如何将基本数据类型转换为String,可以使用String.valueOf()方法进行转换,如下:

int a = 123;
double b = 13.05;
boolean flag = true;
String str1 = String.valueOf(a);	//123
String str2 = String.valueOf(b);	//13.05
String str3 = String.valueOf(flag);	//true


同时还有着更为简单快捷的方式,直接在基本数据类型之后添加“ ”,如下;

String str1 = a +"";	//a
String str2 = flag + "";	//true


最后谈一下wrapper class的转换,同样可以将基本数据类型转换为String,如下:

int a = 123;
boolean flag = true;
String str1 = Integer.toString(a);	//123
String str2 = Boolean.toString(flag);	//true

事实上,String.valueOf()方法也是调用了各种wrapper class的toString()方法,如下。只不过String.valueOf()用起来会方便一点,因为不需要去判断数据属于哪一种类型。

public static String valueOf(double d) {
	return Double.toString(d);//其余的转换都与之类似
    }

更多详情见请继续阅读下一页的精彩内容http://www.linuxidc.com/Linux/2013-10/90926p2.htm

linux
相关资讯       Java String 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款