多平台统一管理软件接口,如何实现多平台统一管理软件接口
276
2023-01-06
简单了解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); http://} (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[] 来保存密码等敏感信息
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); http://} (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[] 来保存密码等敏感信息
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); http://} (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[] 来保存密码等敏感信息
value = (Integer)list.get(i);
http://}
(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[] 来保存密码等敏感信息
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~