浅谈常用字符串与集合类转换的工具类

在项目中,我们经常需要把接收到的字符串转换成对应的集合类保存,或者把集合类转换成字符串以方便传输,这个工具类中封装了几个常用的方法,对于这种转换需求十分方便。

import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.TreeSet;

public class MyStringUtils {

  /**
   * 将字符串转换成set集合类
   * 分隔符是任意空白字符
   */
  public static Set<String> parseParameterList(String values) {
    Set<String> result = new TreeSet<String>();
    if (values != null && values.trim().length() > 0) {
      // the spec says the scope is separated by spaces
      String[] tokens = values.split("[\\s+]");//匹配任意空白字符
      result.addAll(Arrays.asList(tokens));
    }
    return result;
  }

  /**
   * 把集合转化成指定形式的字符串
   */
  public static String formatParameterList(Collection<String> value) {
    return value == null ? null : StringUtils.collectionToDelimitedString(value, ",");//指定分隔符
  }

  /**
   * 从query的字符串中抽取需要的键值对存入map中
   * query的形式name=god&password=111&method=up
   */
  public static Map<String, String> extractMap(String query) {
    Map<String, String> map = new HashMap<String, String>();
    Properties properties = StringUtils.splitArrayElementsIntoProperties(
        StringUtils.delimitedListToStringArray(query, "&"), "=");
    if (properties != null) {
      for (Object key : properties.keySet()) {
        map.put(key.toString(), properties.get(key).toString());
      }
    }
    return map;
  }

  /**
   * 比较两个集合是否相等
   */
  public static boolean containsAll(Set<String> target, Set<String> members) {
    target = new HashSet<String>(target);
    target.retainAll(members);//取两个集合的交集
    return target.size() == members.size();
  }
}

以上这篇浅谈常用字符串与集合类转换的工具类就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • JavaBean和Map转换封装类的方法

    实例如下: package com.ljq.util; import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.ut

  • List转换成Map工具类的简单实例

    实例如下: public class List2MapUtils { /** * K: key class type, V: value class type * * @param sourceList * @param keyName * key property * @param keyClass * key Class type * @return */ public static <K, V> Map<K, V> convert2Map(List<V> sour

  • 浅谈常用字符串与集合类转换的工具类

    在项目中,我们经常需要把接收到的字符串转换成对应的集合类保存,或者把集合类转换成字符串以方便传输,这个工具类中封装了几个常用的方法,对于这种转换需求十分方便. import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Properties; import java.u

  • 浅谈Python数据类型之间的转换

    Python数据类型之间的转换 函数 描述 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 complex(real [,imag]) 创建一个复数 str(x) 将对象 x 转换为字符串 repr(x) 将对象 x 转换为表达式字符串 eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象 tuple(s) 将序列 s 转换为一个元组 list(s) 将序列 s 转换为一个

  • 浅谈Python 字符串格式化输出(format/printf)

    Python 字符串格式化使用 "字符 %格式1 %格式2 字符"%(变量1,变量2),%格式表示接受变量的类型.简单的使用例子如下: # 例:字符串格式化 Name = '17jo'   print 'www.%s.com'%Name   >> www.17jo.com Name = '17jo' Zone = 'com' print 'www.%s.%s'%(Name,Zone) >> www.17jo.com 字符串格式化时百分号后面有不同的格式符号,代表

  • 浅谈java 字符串,字符数组,list间的转化

    1.关于java.lang.string.split xxx.split()方法可以将一个字符串分割为子字符串,然后将结果作为字符串数组返回. 2.字符串转字符数组 String str =" aa.png,a2.png,a3.png"; String[] arrayStr =new String[]{}; arrayStr = str.split(","); 3.字符数组转list List list = java.util.Arrays.asList(array

  • 浅谈python字符串方法的简单使用

    学习python字符串方法的使用,对书中列举的每种方法都做一个试用,将结果记录,方便以后查询. (1) s.capitalize() ;功能:返回字符串的的副本,并将首字母大写.使用如下: >>> s = 'wwwwww' >>> scap = s.capitalize() >>> scap 'Wwwwww' (2)s.center(width,char); 功能:返回将s字符串放在中间的一个长度为width的字符串,默认其他部分用空格填充,否则使用c

  • 浅谈JavaScript变量的自动转换和语句

    JS自动类型转换 var a = 1; var b = true; "==" 表示 可以自动类型转换,比较的是数值  "===" 表示可以自动类型转换,先比较数值,再比较类型 if (a == b) { alert("相等"); //打印 }else{ alert("不等"); } 三目运算 var c = 10/2 > 4 ? 5 : 3 ; alert(c); 关于for循环 for ( var i = 0; i &

  • 浅谈php字符串反转 面试中经常遇到

    1.单字节字符串反转 php提供了用于字符串反转的函数strrev() $str = 'abcdef'; echo strrev($str); 2.对于包含中文的多字节字符串需要用到mb_substr() $str = '字符串反转'; function rev($str, $encoding = 'utf-8'){ $len = mb_strlen($str); $result = ''; for ($i = $len-1; $i>=0; $i--){ $result.= mb_substr(

  • 浅谈js函数中的实例对象、类对象、局部变量(局部函数)

    定义 function Person(national,age) { this.age = age; //实例对象,每个示例不同 Person.national = national; //类对象,所用实例公用 var bb = 0; //局部变量,外面不能访问(类似局部函数) } 调用 var p = new Person("中国", 29); document.writeln("age:" + p.age); document.writeln("obj

  • Java实现产生随机字符串主键的UUID工具类

    本文实例讲述了Java实现产生随机字符串主键的UUID工具类.分享给大家供大家参考,具体如下: package com.gcloud.common; import java.net.InetAddress; import java.util.UUID; /** * uuid工具类 * Created by charlin on 2017/9/9. */ public class UUIDUtil { private String sep = ""; private static int

  • React Native时间转换格式工具类分享

    本文实例为大家分享了React Native时间转换格式工具类,供大家参考,具体内容如下 class DateUtil{ /** * 例如:2017-06-28 10:48:46转成date类, * 可把- replace成/ * @param dateString * @return Date */ static parserDateString(dateString){ if(dateString){ let regEx = new RegExp("\\-","gi&qu

随机推荐