导航:首页 > 编程语言 > java字符串相加效率

java字符串相加效率

发布时间:2024-12-11 21:55:50

1. java中的字符串相加

首先你要搞清楚的是字符串用==比较,是比较两个字符串是不是指向同一个对象。
程序在运行的时候会创建一个字符串缓冲池,程序会把字符串常量(如程序中的"a","b","ab","a"+"b")放入字符串缓冲池中(这里"ab","a"+"b"是一个对象)。当使用
String s3 = "ab";
String s4 = s1 + s2;
String s5 = "a" + "b";
这样的表达是创建字符串的时候,程序首先会在这个String缓冲池中寻找相同值的对象,s3先被放到了池中,所以在s5被创建的时候,程序找到了具有相同值的 s3,将s5引用s3所引用的对象"ab"。所以比较s5==s3由于两个是指向同一个对象,所以为true。
但是在这些赋值中,涉及到变量运算,所以得到的字符串对象存储在各自的内存中,不是缓冲池中的s3对象,如
String s4 = s1 + s2;
String s6 = s1 + "b";
所以 尽管s4,s6的值均为"ab",但是 s4==s3,s6==s3返回的结果均为false;
同时s4,s6也不是指向相同的对象,因为他们在不同内存中。
StringBuffer s7 = new StringBuffer("abc");
String s8 = s7.substring(3); //这个方法是从第3个字符取字符串,得到的s8为"'; 为空字符串。
所以s8==s3的结果也为false;

如果相比较两个字符串的值是不是相等,最好用.equals()方法。

2. java中基本数据类型与String类型有什么区别

java 中String 是个对象,是引用类型
基础类型与引用类型的区别是,基础类型只专表示简单的字符或数字,属引用类型可以是任何复杂的数据结构
基本类型仅表示简单的数据类型,引用类型可以表示复杂的数据类型,还可以操作这种数据类型的行为
java虚拟机处理基础类型与引用类型的方式是不一样的,对于基本类型,java虚拟机会为其分配数据类型实际占用的内存空间,而对于引用类型变量,他仅仅是一个指向堆区中某个实例的指针。

3. java 提出字符串中的数字并相加

比较每个字符的ASIIC码,在数字范围内就留下,不是跳过,最后相加就完了,很简单

阅读全文

与java字符串相加效率相关的资料

热点内容
count是哪个编程语言 浏览:85
写言情小说哪个网站好 浏览:365
iphone外接电视 浏览:423
哪些地方网络信号更好些 浏览:753
jar反编辑工具 浏览:614
描述数据波动大小有哪些 浏览:584
u盘exfat可复制4g以上的文件吗 浏览:667
a4大小的文件过塑多少钱 浏览:26
畅天游2app在哪里下载 浏览:844
微信看文字的图片 浏览:298
将文件直接粘入word 浏览:134
VIP解析APP有哪些 浏览:463
怎样彻底卸载cad文件 浏览:829
iphone4港版 浏览:624
怎么用命令打开程序错误 浏览:665
iphone6怎么改控制中心 浏览:808
ns错误代码 浏览:653
iphone4s如何取消软件更新提示 浏览:538
jsp打印换行 浏览:662
哪个软件可以编程手机软件 浏览:554

友情链接