-
2019-01-15 21:50:01
由于在工作中经常用到各种类型的互相转换,这里总结一下:
1. 基本类型转字符串:
- 基本数据类型.toString 最快
- String.valueOf() 次之
- +" " 最慢
其中long类型没有.toString方法,包装类型Long有。
2. 将list集合转化成string数组:用toArray
List<String> blist=new ArrayList<String>(); //创建一个list集合 String [] a=new String[blist.size()]; //创建string类型数组 blist.toArray(a);//将list集合转成string数组 //遍历输出string数组 Arrays.stream(a).forEach(System.out::println);
3. String数组转集合
String[]arr = new String[]{"123","345","456"}; //转为ArrayList List<String> list = new ArrayList<>(Arrays.asList(arr)); list.add("567"); System.out.println(list);
如果使用下面这种转换需要注意了,这样的是不具备增删的功能的
String[]arr = new String[]{"123","345","456"}; List<String> list = Arrays.asList(arr); System.out.println(list);
使用这种方式转来的list的类型是Arrays的一个内部类,拥有的方法数量有限,不具备add 、remove等的常用操作。(虽然这个内部类也叫ArrayList)
list.add("567"); //会报UnsupportedOperationException异常
若要经转化后有增加删除等操作,可转为ArrayList或其他拥有完整操作的list类。
注意
:对于int[]数组不能直接这样做,因为asList()方法的参数必须是对象。应该先把int[]转化为Integer[]。对于其他primitive类型的数组也是如此,必须先转换成相应的wrapper类型数组。int[] numbers = {7, 7, 8, 9, 10, 8, 8, 9, 6, 5, 4}; int size = numbers.length; Integer[] array = new Integer[size]; for (int i = 0; i < numbers.length; i++) { Integer integer = numbers[i]; array[i] = integer; } List list = Arrays.asList(array);
4. String数组转换成字符串:使用 Apache Commons 组件中的 commons-lang3.jar包
String [] a={"abc","d","ef"}; String str=StringUtils.join(a,",")// 使用逗号隔开
join方法的源码:
/** * <p>Joins the elements of the provided array into a single String * containing the provided list of elements.</p> * * <p>No delimiter is added before or after the list. * Null objects or empty strings within the array are represented by * empty strings.</p> * * <pre> * StringUtils.join(null, *) = null * StringUtils.join([], *) = "" * StringUtils.join([null], *) = "" * StringUtils.join(["a", "b", "c"], ';') = "a;b;c" * StringUtils.join(["a", "b", "c"], null) = "abc" * StringUtils.join([null, "", "a"], ';') = ";;a" * </pre> * * @param array the array of values to join together, may be null * @param separator the separator character to use * @return the joined String, {@code null} if null array input * @since 2.0 */ public static String join(final Object[] array, final char separator) { if (array == null) { return null; } return join(array, separator, 0, array.length); }
可以看到join方法中的第二个参数分隔符,即是数组转字符串时,使用分隔符隔开。
5. String转换成byte[]或者byte[]转换成String
//Original String String string = "hello world"; //Convert to byte[] byte[] bytes = string.getBytes(); //或者getBytes("utf-8") //Convert back to String String s = new String(bytes);
6. Date,Long,String三种类型间的互相转化
- Date转long类型
// 可直接返回当前时间的毫秒数 long now = System.currentTimeMillis(); System.out.println("now:" + now); // 指定date返回long类型 Date date = new Date(); long time = date.getTime(); System.out.println("time:"+ time);
/* Output: now:1550375633383 time:1550375935743 */
- 将date型的数据转换成特定的String型字符串
Date date = new Date(); System.out.println(date); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String format = simpleDateFormat.format(date); System.out.println(format);
/* Output: Sun Feb 17 11:49:27 CST 2019 2019-02-17 11:49:27 */
- 将日期字符串转为Date类型,使用
simpleDateFormat.parse(dateStr)
String dateStr = "2019-02-17 11:58:55"; try { Date parse = simpleDateFormat.parse(dateStr); System.out.println(parse); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); }
/* Output: Sun Feb 17 11:58:55 CST 2019 */
- 字符串转为long类型
String string = "1550376176762"; long parseLong = Long.parseLong(string); System.out.println(parseLong);
- long转字符串,使用
Long.toString()
最快
String string2 = Long.toString(parseLong); System.out.println(string2);
- long转Date
String string = "1550376176762"; long parseLong = Long.parseLong(string); Date date3 = new Date(parseLong); System.out.println("date3:" + date3);
7. Array、ArrayList和Vector的区别
a. Array是表态连续分配的一片内存区域,与ArrayList相比、不能动态改变大小,通过Arrays进行sort、binarySearch等操作;
b. ArrayList是继承自List的可动态改变大小的数组,和Array一样要求连续分配,内部封闭了一个Object数组,许多方法直接调用Arrays实现;
c. Vector和ArrayList功能基本一致,但Vector是线程安全的。
效率由高到低依次为:Array、ArrayList、Vector。
8. String 和List 的互相转换
List<String > 转换成 String :
迭代List的每个子项,将他们用“,”隔开,拼接最好是要用StringBuilder 或者StringBuffer
来完成,当然"String+=" 也是可以的:public static String listToString(List<String> list){ if(list==null){ return null; } StringBuilder result = new StringBuilder(); boolean first = true; //第一个前面不拼接"," for(String string :list) { if(first) { first=false; }else{ result.append(","); } result.append(string); } return result.toString(); }
String 转换成List<String>
:
首先String类没有提供直接转换出List的功能;String提供了一个根据字符来分割字符串的功能,但是分割的结果是String[]类型的,如果我们需要的是String[]类型,那么正好直接使用,
需要List可以使用如下的方法:public static List<String> stringToList(String strs){ String str[] = strs.split(","); return Arrays.asList(str); }
更简洁的
list<String>转String
Joiner.on(",").join(list);
public static void main(String[] args) { List<String> name =new ArrayList<>(Arrays.asList("xxx","yyy","zzz")); name.add("aaa"); name.add("bbb"); String nameStr = Joiner.on(",").join(name); System.out.println(nameStr);//xxx,yyy,zzz,aaa,bbb List<String> dogs = new ArrayList<String>(); dogs.add("Aigi"); dogs.add("Spitz"); dogs.add("Mastiff"); dogs.add("Finnish Spitz"); dogs.add("Briard"); String dogStr = Joiner.on(",").join(name); System.out.println(dogStr);//Aigi,Spitz,Mastiff,Finnish Spitz,Briard String str[] = dogStr.split(","); System.out.println(Arrays.asList(str));//[Aigi, Spitz, Mastiff, Finnish Spitz, Briard] }
更多相关内容 -
java集合转字符串 字符串转集合 StringUtils 一个强大的字符串操作工具
2020-05-31 18:17:40例如:可以快速实现数组 集合转字符串(使用指定的字符分割)字符串转数组,判空,字符串转集合等! StringUtils注释:这是一个安全的字符串操作工具 一. 集合转字符串 使用StringUtils可以快速实现数组 ...使用StringUtils有很多字符串操作,集合与字符串之间的转换。例如:可以快速实现数组 集合转字符串(使用指定的字符分割)字符串转数组,判空,字符串转集合等!
StringUtils注释:这是一个安全的字符串操作工具
一. 集合转字符串
使用StringUtils可以快速实现数组 集合转字符串(使用指定的字符分割)
import org.apache.commons.lang3.StringUtils; List<String> list = Lists.newArrayList(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); String str = StringUtils.join(list, ","); System.out.println(str); //控制台输出: a,b,c,d
二. 字符串转数组
import java.util.Arrays; String a = "1,2,3,0"; String[] split = a.split(","); List<String> list = Arrays.asList(split); System.out.println(list); // 控制台输出:[1, 2, 3, 0]
三. StringUtils 有很多的实用方法
大家可以通过idea中的Structure浏览其中的方法,进行使用。
四. Arrays 中也有很多操作集合的方法
字符串转集合也是用到了其中的方法,大家可以自行学习!
-
字符串去重复、字符串转集合、集合转字符串方法
2021-03-26 00:13:43然后进行输出set集合,如果我们需要输出字符串,那么,我们还能把set集合转化为字符串输出,方法如下:利用StringBuffer public class Dome1 { public static void main(String[] args) { //去重复 Scanner ...字符串去重复
输入一串字符,我们进行去重复操作。首先,需要把它塞入set集合,利用set集合的特性(set集合里的值不能重复)进行去重复。然后进行输出set集合,如果我们需要输出字符串,那么,我们还能把set集合转化为字符串输出,方法如下:利用StringBufferpublic class Dome1 { public static void main(String[] args) { //去重复 Scanner input =new Scanner(System.in); System.out.println("请输入需要去重复的字符串"); String word =input.next(); System.out.println(word);//验证你输入的字符串 //把字符串转化为char数组 char [] arr =word.toCharArray(); //创建set集合,把数组塞入集合中。因为set集合的特性,不重复。 Set<Character> set =new HashSet<>(); //然后遍历输出 for (Character character : arr) { set.add(character); } System.out.println(set);//输出集合 System.out.println("======集合转化字符串输出======"); //把集合转化为字符串 StringBuffer buffer=new StringBuffer(); //遍历集合,转化为字符串 for (Character str:set) { buffer.append(str+","); buffer.deleteCharAt(buffer.lastIndexOf(",")); } //输出字符串 System.out.println(buffer.toString()); }
结果展示:
关注我,点赞它,你就可以收到我持续更新的Java知识,快快来到阿斗学Java,教你最简单的java学习方法
-
字符串转集合
2017-06-13 15:45:30第一个参数list表示要转换的集合对象,第二个参数“,”表示要把集合用逗号进行隔开,这样一来就省去很多中间转换的步骤,可以直接得到一个用逗号分开的字符串:集合:[篮球, 足球] --> 字符串: "篮球,...import org.apache.commons.lang.StringUtils;
有这么一个简单的方法:String str=StringUtils.join(list,",");
第一个参数list表示要转换的集合对象,
第二个参数“,”表示要把集合用逗号进行隔开,
这样一来就省去很多中间转换的步骤,可以直接得到一个用逗号分开的字符串:
集合:[篮球, 足球] --> 字符串: "篮球,足球"
集合转换成字符串:
1234import
org.apache.commons.lang.StringUtils;
//把集合转换成字符串
pst.setString(
4
,StringUtils.join(user.getFav(),
","
));
字符串转换成集合:
1234567891011121314151617181920212223242526272829303132333435363738/**
*
*/
package
mypkg;
import
java.util.ArrayList;
import
java.util.Arrays;
import
java.util.List;
/**
* @author ll
*2016年8月23日
*/
public
class
Test55 {
/**
* @param args
*/
public
static
void
main(String[] args) {
//字符串
Stringstr=
"篮球,足球,排球"
;
//用逗号将字符串分开,得到字符串数组
String[] strs=str.split(
","
);
List<String> list = Arrays.asList(strs);// 将字符串数组转换成集合list
List arrayList = new ArrayList<String>(list);//list转ArrayList//查看集合
for
(
int
i =
0
; i < arrayList.size(); i++) {
System.out.println(list.get(i));
}
}
}
结果:
篮球
足球
排球 -
java字符串与集合互相转换,字符串转List,Map,List转String,String转List源码
2018-09-17 11:27:15List集合转换成String,String转List,Map转String,String转Map等 集合与字符串相互转换,可以自己扩展源码,带有注释 -
json字符串转集合
2019-12-26 20:10:15// 将json字符串转集合 String key = JSONArray.toJSONString(params.get("key")); List<pojo> pojos = JSON.parseArray(key, pojo.class); -
String字符串转集合 (简单高效)
2020-05-12 10:47:52List<T> list=JSONArray.parseArray(“”,T.class); public static void main(String[] args) { String ids = "[[111,222,333,444],[111,222,333,444]]"; List<String> list=JSONArray.parseArray... -
jackson 对象json字符串数组集合互转
2018-06-20 10:07:58jackson 对象json字符串数组集合互转 各jar包 希望能用到。 -
Java中Json字符串直接转换为对象的方法(包括多层List集合)
2020-10-21 16:17:20下面小编就为大家带来一篇Java中Json字符串直接转换为对象的方法(包括多层List集合)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 -
json数组字符串转集合
2019-06-13 15:44:47System.out.println("利用JSONArray中的parseObject方法并指定返回类型来解析json数组字符串"); for(Map,String> mapList : listObjectSec){ for (Map.Entry entry : mapList.entrySet()){ System.out.println( ... -
字符串转 list集合
2020-11-12 13:00:38activityIds: "[sid-037DE141-1742-4EE2-9F20-A3FD09F82AB7, sid-CFFB813F-6120-4EAD-BA71-BAE110102833]" ...//Java.lang 包中的 String.split() 方法可对现有的字符串进行切割,并返回一个字符串数组 //Array -
字符串转list集合方法
2021-11-17 14:19:10将需要转的字符串放进去进行转换。 List integerList = Arrays.asList(userDO.getAccessUnit().split(StringPool.COMMA)); -
python字符串 列表 元组 字典 集合转
2021-03-06 04:49:37字符串str1.字符串转化列表s = 'hello python'li = list(s)print liprint type(s)print type(li)12345结果['h', 'e', 'l', 'l', 'o', ' ', 'p', 'y', 't', 'h', 'o', 'n']1232.字符串转化元组s = 'hello python't = ... -
C#后台接受前台JSON字符串装换成字典集合处理
2020-09-02 13:04:46本文介绍C#利用Newtonsoft接收前端的JSON字符串,并解析反序列化成字典集合,对其进行处理。 -
浅谈java 字符串,字符数组,list间的转化
2020-09-01 06:47:55下面小编就为大家带来一篇浅谈java 字符串,字符数组,list间的转化。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 -
JSON字符串转List集合
2021-05-28 20:04:46一行代码搞定JSON字符串转List集合 List<Object> list = JSON.parseObject(listStr, new TypeReference<List<Object>>(){}); -
JSON字符串转List集合操作
2019-03-28 20:56:03JSON字符串转List集合与List集合转JSON字符串 使用的jar包是fastjson-1.2.41.jar 1.JSON字符串转List集合操作 public static <T> List<T> parseArray(String text, Class<T> clazz) { try { ... -
jdk1.8 利用流字符串转集合
2018-08-02 14:51:26版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34173549/article/details/81358843 List<Long> idList ... -
Java List转字符串,Set转字符串,集合转字符串,数组转集合
2020-07-11 15:47:54集合转字符串 : Set set1 = new HashSet(); set1.add("a"); set1.add("b"); System.out.println(StringUtils.join(set1.toArray(), ","));//a,b List list1 = new ArrayList(); System.out.println(StringUtils.... -
java中字符串转数组,数组转字符串,集合转字符串
2020-10-16 18:18:25二、数组转字符串 这里使用的是jdk1.8中的方法,String.join(),将数组中每个元素以逗号分隔,转换成一个字符串。 String[] idArray = {"1", "2", "3", "4"}; String join = String.join(",", idArray); // 将一个... -
字符串转化为 List 集合
2021-02-12 22:18:50解决方案Java.lang 包中的 String.split() 方法可对现有的字符串进行切割,并返回一个字符串数组String s = "张三 123,李四 456,王五 789";String[] str = s.split(",");对 str 的遍历所以我们可以用 Arrays.asList... -
Java以逗号分隔的String字符串转int集合
2021-05-26 11:10:00Java 8 Stream实现 String ids = "7,8,9,10,11"; List<Integer> idList = Arrays.stream(ids.split(",")).map(Integer::parseInt).collect(Collectors.toList()); jdk1.8真是很方便,以前版本需要写十多行... -
python-字符串与集合
2019-08-17 11:16:40二、字符串与集合 2.1、字符串 2.1.1、字符串切片 Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。下标从0开始 加号 + 是字符串的连接符, 星号 * 表示复制当前字符串,紧跟的... -
Java以逗号分隔的String字符串转int集合,list集合转逗号分隔的字符串
2022-03-28 16:46:48字符串转集合 String ids = "7,8,9,10,11"; List<Integer>...集合转字符串(需要引入hutool工具包) List<String> userIds = users.stream().map(MatchGroupUserEntity::getMallUserId) -
字符串数组转集合
2019-07-09 18:00:56//controller中接收id数组, ... var ids=$('#yourGrid').jqGrid('getGridParam','selarrrow'); //bean属性设置值,表达提交方式, ...//字符串拆分转集合 List<String> result = Arrays.asList(str.split(",")); -
将xml格式字符串转换为集合
2022-02-16 11:03:54将xml格式字符串转换为集合 -
三种方式将集合转换为字符串输出
2013-07-08 15:27:47// 很弱的方法 StringBuilder sb = new StringBuilder(); // 生猛的方法 string str_2 = cities.Aggregate("", (a, b) => a + b.Name + ", "); // 优雅的方法 Console.WriteLine("==========优雅=========="); -
java将字符串转换成集合
2018-11-05 17:40:35// 将集合转换成以逗号分隔的字符串 String str = String.join(",", list); System.out.println(str); // 将字符串转换成集合 List asList = Arrays.asList(str.split(",")); asList.forEach(str1 -> System.out.... -
java 字符串和集合互相转换
2018-03-29 23:40:46今天在写项目的时候遇到一个问题,就是要把得到的一个集合转换成字符串,发现 import org.apache.commons.lang.StringUtils; 有这么一个简单的方法:String str=StringUtils.join(list,","); 第一个...