java中操作字符串的函数_简单了解Java字符串(操作)

字符串遍历

String str = "asdfghjkl";

1.

for(int i=0;i

char ch = str.charAt(i);

}

2.

char[] c=str.toCharArray();

for(char cc:c){

...//cc 直接用了

}

3.

for(int i=0;i

String subStr = str.substring(i, i+1)

}

类似的,arraylist 三种遍历方法:

ArrayList 支持 3 种遍历方式

(01) 第一种,通过迭代器遍历。即通过 Iterator 去遍历。

Integer value = null;

Iterator iter = list.iterator();

while (iter.hasNext()) {

value = (Integer)iter.next();

}

(02) 第二种,随机访问,通过索引值去遍历。

由于 ArrayList 实现了 RandomAccess 接口,它支持通过索引值去随机访问元素。

Integer value = null;

int size = list.size();

for (int i=0; i

value = (Integer)list.get(i);

}

(03) 第三种,for 循环遍历。如下:

Integer value = null;

for (Integer integ:list) {

value = integ;

}

效率分析:遍历 ArrayList 时,使用随机访问 (即,通过索引序号访问) 效率最高,而使用迭代器的效率最低!

类型转换

如何实现 String 与基本数据类型的装换

将 String 转换为基本的数据类型。8 个 wrapper class(Integer,Double,...)提供了相对应的方法 parsexxx(String str)将字符串转换为基本的数据类型,如下:

String str1 = "123";

String str2 = "12.3";

String str3 = "true";

int a = Integer.parseInt(str1); //123

double d = Double.parseDouble(str2); //12.3

boolean flag = Boolean.parseBoolean(str3); //true

如何将基本数据类型转换为 String,可以使用 String.valueOf()方法进行转换,如下:

int a = 123;

double b = 13.05;

boolean flag = true;

String str1 = String.valueOf(a); //123

String str2 = String.valueOf(b); //13.05

String str3 = String.valueOf(flag); //true

同时还有着更为简单快捷的方式,直接在基本数据类型之后添加 “ ”,如下;

String str1 = a +""; //a

String str2 = flag + ""; //true

分割字符串

在 java 里分割字符串是通过正则表达式来分割

String str = "aa-bb-cc-dd";

String[] res = str.split("-"); //aa bb cc dd

取子串

String str = "abcdefg";

str = str.substring(2, 5); //cde

一个问题

在一些敏感信息上, 为什么倾向用 char[], 而不是 String?

当 String 一旦创建, 便不可再修改, 直到 gc 将它回收. 可 gc 的回收时间无法预测. 即使一个对象不存在引用, 也需要在未来的某个时间才会让给出回收. 所以 String 操作敏感信息, 有渗漏的风险. 可 char[] 就不一样了, 我们可以通过程序直接控制其元素, 一般敏感信息不再有用, 直接将数组即可, 因此更倾向使用 char[] 来保存密码等敏感信息

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值