导航:首页 > 编程语言 > 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字符串相加效率相关的资料

热点内容
fgets空文件 浏览:857
传奇物品文件夹 浏览:352
word插入excel图表 浏览:690
xp系统搜索不到本地文件 浏览:39
什么网站可以找到拼团去西藏 浏览:247
javatask 浏览:50
MFC的文件名 浏览:972
cad自动保存的文件怎么关闭 浏览:667
zip文件密码多少 浏览:486
编程培训哪些好 浏览:324
如何把文件夹内容变成文档 浏览:509
小火箭幼儿编程怎么拿积分 浏览:158
火车票时刻表及票价数据库 浏览:94
求平均值java 浏览:767
linux如何分屏显示 浏览:257
手机可以直接填写pdf文件么 浏览:554
linux虚拟光驱软件 浏览:836
米2s最好的版本 浏览:640
小米6检测工具下载 浏览:540
桌面创建不了文件夹怎么回事 浏览:894

友情链接