Java String中若干问题
来源:互联网 发布:网络平台招商加盟 编辑:程序博客网 时间:2024/06/05 08:21
关于String的若干问题:
- String中的“==”与equals() 方法:
(1)对于String对象使用“==”判定时,其实是判定两个String对象是否为同一String对象的引用(内存地址是否相同);
(2)equals()用于判定两个String对象的内容是否一致;
public class TestEquals { static String str1=new String("abcde"); static String str2=new String("abcde"); static String str3="abcde"; static String str4="abcde"; public static void main(String[] args) { System.out.print("str1==str2 ? "); System.out.println(str1==str2); System.out.println("str1.equals(str2) ? "+str1.equals(str2)); System.out.println("str1.equals(str3) ? "+str1.equals(str3)); System.out.print("str1==str3 ? "); System.out.println(str1==str3); System.out.print("str3==str4 ? "); System.out.println(str3==str4); }}
输出结果://str1==str2 ? false
//str1.equals(str2) ? true
//str1.equals(str3) ? true
//str1==str3 ? false
//str3==str4 ? true
String与char[]比较:
(1)String 对象是不可变的,JDK中对于String对象内容修改的方法实质上是重新创建了一个全新的String对象,原始的String一旦创建直到GCC将其收回才会消失。
(2)保存在char[]中的值是可以随时修改的,每次修改完之后之前的值将消失;
因此,相对来说char[]比String保密性更好。取出String中的内容:
String str1=new String("abcde");String str2=new String("234");String str3=new String("2.0f");char[] strChar=str1.toCharArray();Int strInt=Integer.parseInt(str2);Float strFloat=Float.parseFloat(str3);
- 字符串拆分:
String str4=new String("a,b,c,d;e");String[] strTemp=str4.split(",");for(String ss:strTemp) System.out.print(ss+",");
String vs StringBuilder vs StringBuffer :
(1) 上面已经提及,String是不可变的,而StringBuilder对象值是可变的,StringBuilder提供的insert(), replace(), subString(), append() 等用于操纵字符串内容;
(2) 相比StringBuffer,StringBuilder是java SE5引入的,在此之前,一般使用StringBuffer;相比StringBuilder,StringBuffer是线程安全的,因此开销会大,更慢。Apache Commons Lang包中的StringUtils:
(1) repeat()实现字符串重复构造;
(2) countMatches() 可以统计子串出现次数;int n = StringUtils.countMatches("11112222", "1");System.out.println(n);String strRep=StringUtils.repeat("String ,", 6); System.out.println(strRep);
- Java String中若干问题
- JAVA中关于String的若干问题
- String若干问题
- java中日志的若干问题
- Java中传递参数的若干问题
- java 线程若干问题
- Java多线程若干问题
- Java环境搭建若干问题
- TCHAR 与 STD::string 之间的若干问题
- TCHAR 与 STD::string 之间的若干问题
- P2P中打洞的若干问题
- P2P中打洞的若干问题
- LigerUI中accordion的若干问题
- P2P中打洞的若干问题
- 若干问题
- Java多态中的若干问题
- Java中String问题
- java中String问题
- 在grub中添加win7(以及从win7来的win10)的启动项
- 如何清除windows入侵的记录
- strcpy函数的实现
- 硬件-CPU3
- 理解OAuth 2.0
- Java String中若干问题
- 集合中的其他类
- 使用Ruby On Rails15分钟打造一个博客系统
- struct的内存对齐方式
- Android中使用Makefile编译程序和库的方法
- activemq
- linux驱动ioctl
- 2013杭州站C - Zhuge Liang's Password(模拟)
- Basic Calculator II