(PASS)字符数组\字符串数组 和 字符串 的相互转换
1,字符数组 转换为 字符串
java可以使用两种方法直接将字符数组转为字符串。
方法1:直接在构造String时转换。
char[] data = {'a', 'b', 'c'};
String str = new String(data);
方法2:调用String类的方法转换。
//String.valueOf(char[] ch);
String str = String.valueOf(data);
2,字符串数组转换为字符串
如果是 “字符串数组” 转 “字符串”,只能通过循环,没有其它方法
String[] str = {"abc", "bcd", "def"};
StringBuffer sb = new StringBuffer();
for(int i = 0; i < str.length; i++){
sb. append(str[i]);
}
String s = sb.toString();
//William感悟:当然可以通过 String的字符串拼接,但是这样会不断创建String对象,然后销毁对象,这样有点浪费内存,还不如StringBuffer
3,字符串 转换为 字符数组
这个要看你的具体需求了.如果是有分隔符的那种例如"a,b,c";就直接分割就行了.
String string = "a,b,c";
String [] stringArr= string.split(","); //注意分隔符是需要转译滴...
如果是"abc"这种字符串,就直接
String string = "abc" ;
char [] stringArr = string.toCharArray(); //注意返回值是char数组
如果要返回byte数组就直接使用getBytes方法就ok了~~
String string = "abc" ;
byte [] stringArr = string.getBytes();
4,字符串 转换为 字符串数组
package demo01;
/**
*
* @ClassName: ArrayAndString
* @Description:
* @author William_Dai
* @date 2018年8月15日
*
*/
public class ArrayAndString {
public static void main(String[] args) {
/**1,数组转换为字符串*/
//方法1:直接在构造String时转换。
char[] data = {'a', 'b', 'c'};
String str = new String(data);
System.out.println(str); //方法2:调用String类的方法转换。
String str2 = String.valueOf(data);
System.out.println(str2); /**2,字符串数组转换为字符串*/
//如果是 “字符串数组” 转 “字符串”,只能通过循环,没有其它方法
String[] str3 = {"abc", "bcd", "def"};
StringBuffer sb = new StringBuffer();
for(int i = 0; i < str3.length; i++){
sb. append(str3[i]);
}
String str4 = sb.toString();
System.out.println(str4); //William感悟:当然可以通过 String的字符串拼接,但是这样会不断创建String对象,然后销毁对象,这样有点浪费内存,还不如StringBuffer /**3,字符串转换为数组*/ //这个要看你的具体需求了.如果是有分隔符的那种例如"a,b,c";就直接分割就行了.
String str5 = "a,b,c";
String [] strArr= str5.split(",");
for(int i = 0 ; i < strArr.length; i ++){
System.out.print(strArr[i]+" ");
}
//如果是"abc"这种字符串,就直接
String str6 = "abc" ;
char [] stringArr = str6.toCharArray(); //注意返回值是char数组
for(int i = 0 ; i < stringArr.length; i ++){
System.out.print(stringArr[i]+" ");
}
//如果要返回byte数组就直接使用getBytes方法就ok了~~
String str7 = "abc" ;
byte [] intArr = str7.getBytes();
for(int i = 0 ; i < intArr.length; i ++){
System.out.print(intArr[i]+" ");
} /**4,字符串转换为字符串数组*/
String str8 = "Are you OK ?";
String [] strArr2= str8.split(" ");
for(int i = 0 ; i < strArr2.length; i ++){
System.out.println(strArr2[i]);
}
} }
(PASS)字符数组\字符串数组 和 字符串 的相互转换的更多相关文章
- Lua 用指定字符或字符串分割输入字符串,返回包含分割结果的数组
// 用指定字符或字符串分割输入字符串,返回包含分割结果的数组 // @function [parent=#string] split // @param string input 输入字符串 // ...
- C语言 字符二维数组(多个字符串)探讨 求解
什么是二维字符数组? 二维字符数组中为什么定义字符串是一行一个? “hello world”在C语言中代表什么? 为什么只能在定义时才能写成char a[10]="jvssj" ...
- 查找常用字符(给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。)
给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表. 例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 ...
- C#字符串、字节数组和内存流间的相互转换
定义string变量为str,内存流变量为ms,比特数组为bt 1.字符串=>比特数组 (1)byte[] bt=System.Text.Encoding.Default.GetBytes(&q ...
- php把字符串指定字符分割成数组
<?php $str="1|2|3|4|5|"; $var=explode("|",$str); print_r($var); ?> $var=ex ...
- C#字符串、字节数组和内存流间的相互转换 - IT浪潮之巅
定义string变量为str,内存流变量为ms,比特数组为bt 1.字符串=>比特数组 (1)byte[] bt=System.Text.Encoding.Default.GetBytes(&q ...
- 逗号字符的使用、字符数组与字符串数组、sizeof与strlen
(1)连接两个表达式为一个表达式 for(ux=0,uxt=1;uxt<444;ux++,uxt++) 允许通过编译:他可以给FOR循环更多的初始化值: (2)一般定义的话要区别只有 字符数组 ...
- LeetCode随缘刷题之Java经典面试题将一个字符串数组进行分组输出,每组中的字符串都由相同的字符组成
今天给大家分享一个Java经典的面试题,题目是这样的: 本题是LeetCode题库中的49题. 将一个字符串数组进行分组输出,每组中的字符串都由相同的字符组成 举个例子:输入["eat&qu ...
- 字符串&数组的相互转换
字符串 -> 数组 方法一: $str = "abcd" $s2 = $str.GetEnumerator() #$s2是无法使用下标的方式进行索引的,因为其不是array ...
随机推荐
- mysql8的坑
plugin caching_sha2_password could not be loaded 我在mac上用Sequel Pro连数据库的时候,会报出以上错误,这是应为8.0.11把身份认证插件改 ...
- safari 调试iPhone web页面
safari设置-打开Safari偏好者设置,选中“高级菜单”,在页面最下方看到“在菜单中显示开发菜单”的复选框,在复选框内打钩,这样设置完毕就能在Safari菜单中看到开发菜单了 iPhone 设置 ...
- CTF中的AWD套路
今年参加了三起CTF比赛,属于初学者,基本除了web其他的不会,但分赛场AWD相对就没什么难度,基本都是技巧性.其中一场进入复赛了,本月底再次比赛(ctf题做的这么渣还能进也是绝了~),参照前人经验补 ...
- 【Luogu】【关卡2-10】分治算法(2017年10月)
任务说明:将大问题拆分为小问题,分而治之,各个击破,然后在合并回来. 取余运算||快速幂 幂次方 逆序对 南蛮图腾
- Github pages博客搭建与域名绑定
Github Page github page是由用户编写的托管在github上的静态网页,为了搭建一个个人博客,我们可以租用一个云服务器然后部署我们的博客项目,常见的比如wordpress,像wp这 ...
- java的集合工具类Collections
集合框架的工具类. Collections:集合框架的工具类.里面定义的都是静态方法. Collections和Collection有什么区别? Collection是集合框架中的一个顶层接口,它里面 ...
- NOIp2018集训test-10-22 (联考六day2)
中间值 两个log肯定会被卡.我用的第一种做法,就是要各种特判要在两个序列都要二分比较麻烦. //Achen #include<bits/stdc++.h> #define For(i,a ...
- idea 中使用dataBase插件
最近一段时间重新开始学习Java 使用IntelliJ 发现有个链接数据库插件挺好用的,并且反应速度还挺快的记录下. 点击步骤:View → Tool Windows → data 进行数据库链接 发 ...
- Qt 线程基础(QThread、QtConcurrent、QThreadPool等)
使用线程 基本上有种使用线程的场合: 通过利用处理器的多个核使处理速度更快. 为保持GUI线程或其他高实时性线程的响应,将耗时的操作或阻塞的调用移到其他线程. 何时使用其他技术替代线程 开发人员使 ...
- Peer模式的多线程程序例子
Peer模式的多线程程序例子 程序的模型大概是这样的.有一个master(),用来分发任务.有N个多线程的slave用来处理任务. 主程序里可以这样调用: 可以看出,上面这段程序还是依赖于Proces ...