android 将手机号中间隐藏为星号(*)
来源:互联网 发布:淘宝内裤真人秀在哪看 编辑:程序博客网 时间:2024/06/07 02:55
String aa = "15254545875";aa = aa.substring(0, 3) + "****" + aa.substring(7, 11);mText.setHint(aa);
由方法中的substring方法引申出了一个问题,substring()是否会重新创建出一个新的string对象?在下面找到了问题答案。
substring()返回的字符串并不会真正复制原字符串的byte数组的一部分,而只是指向原字符串的byte数组的某个区间,这个特性决定了它的执行效率是很不错的,在内存使用方面则根据具体情况可能有两极化的表现。一般来说,由于substring()没有为子字符串申请新的空间,它有节约内存空间的作用。但在有些情况下,它反而浪费内存空间,因为它会导致它所基于的原字符串无法释放,从而不能被垃圾回收,如:public String getSub() { String total=....... return total.substring(0,1);}String sub = getSub();
total本来是个局部变量,getSub()结束就可以被释放,但由于sub的存在,它无法被释放。如果total是个很长的字符串,sub相对来说短得多,就不是好事了。
要解决这个问题也很简单,用intern()就可以了,如:public String getSub() { String total=....... return total.substring(0,1).intern();}String sub = getSub();这时系统会为sub的数据单独开辟一个独立的内存空间,原字符串total在getSub()结束就可被垃圾回收了。总的来说,还是要具体情况具体分析,灵活运用,并没有一定的答案,关键是理解背后的机制。
0 0
- android 将手机号中间隐藏为星号(*)
- android 将手机号中间隐藏为星号(*)
- android 将手机号中间隐藏为星号(*)
- android 将手机号中间隐藏为星号(*)和手机号码判断
- 判断昵称是否为手机号,将手机号中间替换成星号显示
- 将手机号中间四位隐藏
- 将手机号中间四位隐藏
- C#隐藏手机号中间四位为*
- android隐藏中间四位手机号
- Android 隐藏手机号中间四位
- 隐藏手机号中间4位算法,替换手机号中间四位为*
- Android 隐藏手机号中间四位和邮箱隐藏
- Android 隐藏手机号中间四位和邮箱隐藏
- js设置手机号中间几位为隐藏星代替 (正则)
- js设置手机号中间几位为隐藏星代替
- php处理手机号中间五位用星号代替
- 将银行卡中间八个字符隐藏为*
- Java-----隐藏手机号中间部分
- nginx File not found!
- [Bugfix]Error opening new searcher. exceeded limit of maxWarmingSearchers=2, try again later.
- 提取出来的工具类
- java project 发布成为可运行文件exe
- POJ 1873 The Fortified Forest (凸包,状态压缩枚举)
- android 将手机号中间隐藏为星号(*)
- 1
- Linux命令 --- 文件比较diff/cmp
- 代码笔记 | 填写验证码倒计时60秒
- swift学习笔记 --- Control Flow
- 关于tomcat启动闪退的问题,以及使用tomcat域名绑定的问题
- 机器学习如何帮助Caesars大涨邮件绩效
- 安卓模拟器Genymotion安装使用教程详解
- 2