简单了解Java字符串(操作)

字符串遍历

String str = "asdfghjkl";

1.

for(int i=0;i<str.length();i++){
char ch = str.charAt(i);
}

2.

char[] c=str.toCharArray();
for(char cc:c){
...//cc 直接用了
}

3.

for(int i=0;i<str.length();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<size; 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)

相关推荐

  • Java操作文件输出为字符串以及字符串输出为文件的方法

    文件输出为字符串示例代码: /** * 读取文件为字符串 * * @return */ public static String readString() { String str = ""; File file = new File("C:/Users/wan7/Desktop/表单/粗集料试验/粗集料冲击值试验(T0322-2000).html"); try { FileInputStream in = new FileInputStream(file); //

  • Java实现的简单字符串反转操作示例

    本文实例讲述了Java实现的简单字符串反转操作.分享给大家供大家参考,具体如下: 最常用的方式是,反向取出每个字符,然后打印: public class StringReverse { public static void main(String[] args) { // 原始字符串 String s = "A quick brown fox jumps over the lazy dog."; System.out.println("原始的字符串:" + s);

  • Java实现对字符串中的数值进行排序操作示例

    本文实例讲述了Java实现对字符串中的数值进行排序操作.分享给大家供大家参考,具体如下: 问题: 对"34 9 -7 12 67 25"这个字符串中的数值从小到大排序! 解决方法: 先介绍几个eclipse快捷键:输入for再按下"alt+/"可快速写一个for循环 选中某一个小写单词 Ctrl+Shift+x  可变大写,选中某一个大写单词 Ctrl+Shift+y  可变小写 下面请看具体实现代码: import java.util.Arrays; public

  • java字符串常用操作方法(查找、截取、分割)

    如下所示: public class 字符串常用操作 { public static void main(String[] args) { /* * 查找子串 */ String str1="dwqae12232aebdalf"; //查找指定字符第一次出现的位置 int first1=str1.indexOf(97);//参数为字符的ascii码 //查找指定字符串第一次出现的位置 int first2=str1.indexOf("12"); //查找指定字符第一

  • Java字符串操作和C#字符串操作的不同小结

    前言 每种语言都会有字符串的操作,因为字符串是我们平常开发使用频率最高的一种类型.今天我们来聊一下Java的字符串操作及在某些具体方法中与C#的不同,对于需要熟悉多种语言的人来说,作为一种参考.进行诫勉 首先,什么是字符串? 字符串是字符的序列,是作为一种对象而存在.说的直白点,字符串就是一些字符的组合,从而构成字符串,例如"abc"就是字符串,"郭志奇"也是一种赐福穿. 我们知道,Java是一种面向对象的高级程序语言.所有事物均为对象,字符串也不例外,也是一种对象

  • 一篇文章看懂Java字符串操作

    目录 字符, 字节与字符串 字符与字符串 字节与字符串 字符串常见操作 字符串比较 字符串查找  字符串替换  字符串拆分  字符串截取 其他操作方法 总结 字符, 字节与字符串 字符与字符串 字符串内部包含一个字符数组,String 可以和 char[] 相互转换. NO 方法名称 类型 描述 1 public String(char value[]) 构造 将字符数组中的所有内容变字符串 2 public String(char value[],int offset,int count) 构

  • 简单了解Java字符串(操作)

    字符串遍历 String str = "asdfghjkl"; 1. for(int i=0;i<str.length();i++){ char ch = str.charAt(i); } 2. char[] c=str.toCharArray(); for(char cc:c){ ...//cc 直接用了 } 3. for(int i=0;i<str.length();i++){ String subStr = str.substring(i, i+1) } 类似的,ar

  • Java字符串常见的操作(比较,查找,替换等)

    目录 一,字符串的比较 1,equal()方法 2,compareTo()方法 二,字符串查找 1,contains()方法 2, indexOf()方法 3,startsWith()和endsWith()方法 三,字符串替换 replaceAll()方法 四,字符串拆分 split()方法 五,字符串截取 substring()方法 六,字符串其他常见的操作方法 1,trim()方法 2,toUpperCase()和toLowerCase()方法 3,length()方法 3,reverse(

  • 剑指Offer之Java算法习题精讲字符串操作与数组及二叉搜索树

    题目一  解法 class Solution { public String reverseOnlyLetters(String s) { char[] chars = s.toCharArray(); int left = 0; int right = chars.length-1; while(left<=right){ char tmp = 0; if(chars[left]>='a'&&chars[left]<='z'||(chars[left]>='A'&

  • java字符串数组进行大小排序的简单实现

    若是将两个字符串直接比较大小,会包:The operator > is undefined for the argument type(s) java.lang.String, java.lang.String的错误. 字符串比较大小可以用字符串长度或者是比较字符串内字符的ASCII码值,前者太简单,就不进行讲述记录. 字符串用ASCII码比较大小,规则是: 1.比较首字母的ASCII码大小 2.若是前面的字母相同,则比较之后的字母的ASCII码值 3.若是一个字符串从首字母开始包含另一个字符串

  • 10中java常见字符串操作实例

    java String 类 字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串.今天就为大家介绍一下java常见的字符串操作方法. 一.使用length()方法获取字符串的长度 public class maintest { public static void main(String[] args) { String str = "abcdefg"; //length():统计当前字符串的字符个数 int i =

  • java常见的字符串操作和日期操作汇总

    一.字符串操作 创建字符串 String s2 = new String("Hello World"); String s1 = "Hello World"; 1.字符串连接 多个字符串链接时,每个字符串之间用+相连,+就是字符串链接,连接之后生成一个新的字符串. 2.获取字符串长度 a.lenght() 根据索引从0开始,截取字符串长度 a.substring(1,3) ; 从1号位开始截取到3号位. 3.获取指定字符串的索引位置 indexOf()方法;last

  • JavaScript中的字符串操作详解

    一.概述    字符串在JavaScript中几乎无处不在,在你处理用户的输入数据的时候,在读取或设置DOM对象的属性时,在操作cookie时,当然还有更 多....JavaScript的核心部分提供了一组属性和方法用于通用的字符串操作,如分割字符串,改变字符串的大小写,操作子字符串等.    当前的大部分浏览器也能从强大的正则表达式获益,因为它极大地简化了大量的字符串操作任务,不过它也需要你克服一条有些陡峭的学习曲线.在这里,主要是介绍字符串本身的一些操作,正则表达式会在以后的随笔中涉及. 二

  • 8个简单部分开启Java语言学习之路 附java学习书单

    之前为大家推荐了java语言阅读书籍,下面为大家介绍从哪几个方面开始学习java语言,具体内容如下 1. Java语言基础  谈到Java语言基础学习的书籍,大家肯定会推荐Bruce Eckel的<Thinking in Java>.它是一本写的相当深刻的技术书籍,Java语言基础部分基本没有其它任何一本书可以超越它.该书的作者Bruce Eckel在网络上被称为天才的投机者,作者的<Thinking in C++>在1995年曾获SoftwareDevelopment Jolt

随机推荐