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

热点内容
app几年出 浏览:698
联想家悦er302怎么升级 浏览:924
wifi怎么传送数据 浏览:134
kotlinjava混编 浏览:970
旅游产业数据哪里找 浏览:811
如何搭建数据分析团队 浏览:293
交流电压测量程序 浏览:772
debug是什么文件夹 浏览:637
什么文件是索引文件 浏览:466
编程中的伙伴系统是什么意思 浏览:58
在哪里上编程课好 浏览:251
word首页为偶数页 浏览:665
台式机清除开机密码 浏览:143
巨噬细胞流式数据怎么分析 浏览:681
更改默认桌面文件夹路径 浏览:412
会ug编程如何开厂 浏览:542
怎样删除手机微信视频文件在哪里找 浏览:729
接收系统文件 浏览:252
qqjssdk只能弹窗么 浏览:633
linux中拷贝文件夹命令 浏览:784

友情链接