String的点点滴滴
一、String 的 equals()到底比较的是什么?equals() 与 == 的区别?
当使用关系运算符==比较两个对象时,是比较两个对象使用的内存地址和内容是否相同,如果两个对象使用的是同一个内存地址,并且内容相同,则结果为true,否则结果为false
public class CompareObjectDemo {
public static void main(String[] args) {
String str1 = new String("hello");
String str2 = new String("hello");
String str3 = str2;
//用==比较
System.out.println("str1 == str2的比较结果为:\n\t" + (str1 == str2));
System.out.println("str2 == str3的比较结果为:\n\t" + (str2 == str3));
//用equals比较
System.out.println("str1.equals(str2)的比较结果为:\n\t" +str1.equals(str2));
System.out.println("str2.equals(str3)的比较结果为:\n\t" +str2.equals(str3));
}
}
public class CompareObjectDemo {
public static void main(String[] args) {
String str1 = "hello";
String str2 = "hello";
String str3 =str2;
//用==比较
System.out.println("str1 == str2的比较结果为:\n\t" + (str1 == str2));
System.out.println("str2 == str3的比较结果为:\n\t" + (str2 == str3));
//用equals比较
System.out.println("str1.equals(str2)的比较结果为:\n\t" +str1.equals(str2));
System.out.println("str2.equals(str3)的比较结果为:\n\t" +str2.equals(str3));
}
}
/**
* String -> other type
*/
public static void testString2OtherType(){
String s1 = "121";
int parseInt = Integer.parseInt(s1);
System.out.println(parseInt); String s2 = "12.1";
double parseDouble = Double.parseDouble(s2);
System.out.println(parseDouble); String s3 = "12.1f";
float parseFloat = Float.parseFloat(s3);
System.out.println(parseFloat); String s4 = "false";
boolean parseBoolean = Boolean.parseBoolean(s4);
System.out.println(parseBoolean); //或者使用如下也可
Integer i = Integer.valueOf(s1);
System.out.println(i); Double d = Double.valueOf(s2);
System.out.println(d); //...
} /**
* other type --> String
*/
public static void otherType2String(){
int i = 38;
String s1 = String.valueOf(i);
System.out.println(s1); float f = 38.38f;
String s2 = String.valueOf(f);
System.out.println(s2); //...
}
四、[很好用] 字符串分割 split
public static void main(String[] args) {
String src = "hello world,I love you";
StringDemo.testStringSplit(src);
}
public static void testStringSplit(String src){
String[] strArray = src.split("\\W");//按照单词来划分,具体的正则表达式可以参考Pattern类,里面有详细介绍
for(String s : strArray){
System.out.println(s);
}
}
结果
hello
world
I
love
you
String的点点滴滴的更多相关文章
- Ⅳspring的点点滴滴--方法和事件
承接上文 方法和事件 .net篇(环境为vs2012+Spring.Core.dll v1.31) public abstract class MethodDemo { protected abstr ...
- Ⅲ.spring的点点滴滴--赋值
承接上文 对象的赋值(调用方式都一样不再阐述) .net篇(环境为vs2012+Spring.Core.dll v1.31) public class PropertyDemo{ public Sys ...
- Ⅱ.spring的点点滴滴--对象
承接上文 对象的各种实例化 .net篇(环境为vs2012+Spring.Core.dll) 修改原来的PersonDao对象为 public class PersonDao : IPersonDao ...
- Ⅰ.Spring的点点滴滴--序章
spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 .net篇(环境为vs2012+Spring.Core.dll) 新建一个控制台 using Spring.Context; ...
- XI.spring的点点滴滴--IObjectFactoryPostProcessor(工厂后处理器)
承接上文 IObjectFactoryPostProcessor(工厂后处理器)) 前提是实现接口的对象注册给当前容器 直接继承的对象调用这个postProcessBeanFactory方法,参数为工 ...
- Ⅸ.spring的点点滴滴--IObjectFactory与IFactoryObject的杂谈
承接上文 ObjectFactory与IFactoryObject的杂谈 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class parent { pu ...
- Ⅷ.spring的点点滴滴--抽象对象和子对象
承接上文 抽象对象和子对象 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class parent { public string Name { get; ...
- Ⅵ.spring的点点滴滴--自定义类型转换器
承接上文 自定义类型转换器 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class CustomeConverter : TypeConverter{ ...
- Ⅴ.spring的点点滴滴--引用其他对象或类型的成员
承接上文 引用其他对象或类型的成员 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class Person { public string Name { ...
随机推荐
- 为sublime text2 添加SASS语法高亮
以前写CSS时,都是直接写样式,没有任何的第三方工具,后面发现越是面向大网站,越难管理,上次参加完携程UED大会后,发现SASS对于前端团队多人协作和站点代码维护上很有帮助,很多同学都开始用了,我还是 ...
- 几个不常见但非常出色的 .NET 开源库
NLog NLog 目前最为出色的 .NET 日志库,非常容易配置,且极具灵活性.最重要的是与 log4net 相比,NLog 的开发很活跃.顺带提一句,NLog 完全兼容 Mono. Mono.Ce ...
- IOS 接ShareSDK问题
如果报错AGCommon 等错误 引用libicucore.A.dylib ShareSDK 官网 管理中心 → 创建一个新的应用 获得key之后 啥都别做.! - (BOOL)applicatio ...
- http://www.ruanyifeng.com/blog/2011/09/restful
http://www.ruanyifeng.com/blog/2011/09/restful
- C内存管理
一般而言,分配给进程的内存有四个概念上不同的区域,分别为:代码段.数据段.堆和栈,其中数据段又可以细分为初始化为非零的数据和初始化为零的数据.如下图所示: 1.栈区(stack)— 由编译器自动分配释 ...
- Android 应用自动更新功能的代码
由于Android项目开源所致,市面上出现了N多安卓软件市场.为了让我们开发的软件有更多的用户使用,我们需要向N多市场发布,软件升级后,我们也必须到安卓市场上进行更新,给我们增加了工作量.因此我们有必 ...
- 【DataStructure In Python】Python模拟栈和队列
用Python模拟栈和队列主要是利用List,当然也可以使用collection的deque.以下内容为栈: #! /usr/bin/env python # DataStructure Stack ...
- 简单的信誉算法 js处理
$(document).ready(function(){ // 初始化 var credit = "{sh:$info.credit}"; var res = getCredit ...
- 客户端验证的极品--jQuery.validator
最近在做一个用户注册登录的页面,资料查寻过程中发现了一个非常不错的客户端验证的极品-jQuery.validate.它是著名的JavaScript包jQuery的一个插件,其实它还有其它的一些插件应该 ...
- c#抓取当前电脑显示分辨率
using System.Windows.Forms; 获取屏幕分辨率 int SH = Screen.PrimaryScreen.Bounds.Height; ...