• java String字符串


      (一)数据格式

      (二)初始化

    // 方式一
    String str;// 先声明,后赋值
    // 执行其他代码
    str = "赋值";
    // 方式二:声明+赋空值(通常使用)
    String str2 = "";
    // 方式三:声明并赋需要的值(一步到位)
    String str3 = "实际值"; 

      (三)常用操作

        5.3.1 split("指定字符")  

        语法:

          String.split("指定字符"),指定字符如果是特殊字符串需要使用"\"转义        

        定义:

          拆分字符串

        示例:

    String cookieStr = "userId$1|userName$%E8%B6%85%E7%BA%A7%E7%AE%A1%E7%90%86%E5%91%98|home$index|";
    if (cookieStr.indexOf("userId") > -1) {
        String[] cooks = cookieStr.split("\|");
        for (String cook : cooks) {
            String[] str = cook.split("\$");//或[$]
            if (str[0].equals("userId")) {
                return str[1];
            }
        }
    }

        5.3.2 trim()

        定义:去除字符串左右空格(中间的空格无法去除)

        5.3.3 startsWith("指定字符、字符串")和endsWith("指定字符、字符串")

        定义:判断字符串是否以指定字符串开头(前缀prefix)和结尾(后缀suffix),返回true或false

        5.3.4 substring(startIndex,endIndex)

        定义:截取字符串,截取位置[startIndex,endIndex)

     // 去掉最后一个字符
    params.substring(0,params.length() - 1);  

        UpdateTime--2017年8月17日08:12:35

        5.3.5 indexOf(str)

        定义:返回已知字符串str在指定字符串中第一次出现的元素下标索引号,如果不存在,返回-1

        5.3.6 lastIndexOf(str)

        定义:返回已知字符串str在指定字符串中第一次出现的元素下标索引号,如果不存在,返回-1

        5.3.7 trim()

        定义:去除字符串前后空格

        5.3.8 length()

        定义:返回字符串的长度

        UpdateTime--2017年8月23日17:24:39

        5.3.9 replace(param1,param2)

        定义:将字符串中的部分字符串param1全部替换成param2

        语法1:

          replace(CharSequence target,CharSequence replacement)

        说明:传的参数是字符串String

        语法2:

          replace(char oldChar, char newChar)

        说明:传的参数是单字符char

        小结:replace()方法传的参数可以是字符串String,也可以是单字符char

        UpdateTime--2017年11月10日08:31:01

        5.3.10 equals()

        定义:判断两个字符串的值是否相等

        语法:str1.equals(str2),相等返回true,否则返回false

        5.3.11 isEmpty()

        定义:判断该字符串是否为空,即是否==""

        语法:str.isEmpty(),如果为空返回true,否则返回false

        说明:

          1.str必须是字符串,不能为null,如果是null,调用isEmpty()方法会抛出空指针异常;

          2.非空校验,该方法存在弊端,可以使用5.2.1重新封装的方法,也可以调用apache的StringUtils.isEmpty()方法,举例说明。

          StringUtils.isEmpty()用法举例

           需要导入:

    import org.apache.commons.lang.StringUtils;        
    public static void main(String[] args) {
        // 非空校验
        Map<String, String> paramMap = new HashMap<String, String>();
        // boolean res = paramMap.get("aa").isEmpty();会造成空指针
        boolean res = StringUtils.isEmpty(paramMap.get("aa"));
        // 相当于
        res = (null == paramMap.get("aa") || paramMap.get("aa").equals(""));
        System.out.println(res);
    } 

      (四)其它用法

      (五)格式转换

        5.5.1 String 与 int的相互转化

          5.5.1.1 String-->int

    /**
     * 将String类型的数字转换成int类型
     */
    int r1 = Integer.parseInt("123");

          5.5.1.2 int-->String

    /**
     * int转String
     */
    //使用String类的valueOf()方法
    String str1 = String.valueOf(3);
    //使用Integer类的toString()方法
    String str2 = Integer.toString(3);
    //拼接空字符
    String str3 = 3 + "";

        5.5.2 String 与 Integer的相互转化

          5.5.2.1 String-->Integer

    /**
     * 将String类型的数字转换成Integer类型
     */
    Integer r2 = Integer.valueOf("123");

          5.5.2.2 Integer-->String

    /**
     * Integer转String
     */
    Integer r = 1;
    String str4 = r.toString();

        5.5.3 String类型转换成八种基本数据类型 

    // 调用对应封装类的pase+“基本数据类型”
    long l3 = Long.parseLong("123");

        5.5.4 String类型转换成八种基本数据类型的封装类

    // 调用对应封装类的valueOf()方法
    Long L3 = Long.valueOf("123");

        UpdateTime--2017年9月7日16:33:06 

        5.5.5 String转char

        方法:str.toCharArray()

        定义:将字符串转换成char数组

    // 字符串转char数组
    char [] chars = str.toCharArray();

        5.5.6 String转byte 

        方法:str.toCharArray()

        定义:将字符串转换成byte数组

    // 字符串转字节数组
    byte [] bytes = str.getBytes();

      (六)进一步封装

        5.6.1 非空校验

        方式一:使用org.apache.commons.lang.StringUtils;

        方式二:自定义封装

        重新对String的isEmpty()方法进行封装,这种方法可以避免空指针异常。(对String类的扩展)

    /**
     * 校验是否为空(null && "")
     */
    public static boolean isEmpty(String val) {
        boolean flag = false;
        if (val == null || "".equals(val)) {
            flag = true;
        }
        return flag;
    }
    
    /**
     * 校验是否不为空(null && "")
     */
    public static boolean isNotEmpty(String val) {
        return !isEmpty(val);
    }
    

      20200323

      object类型转String时,可能会存在空指针的情况,所以,为了避免这种情况的发生,不能使用String.toString()。

      两种解决方案:强制转换或者String.valueOf()

    JSONObject json = new JSONObject();
    // 方式一
    System.out.println(String.valueOf(json.get("controls")));
    // 方式二
    System.out.println((String) json.get("controls"));
    // 报错:空指针异常
    System.out.println(json.get("controls").toString());
    

        

     相关推荐:

  • 相关阅读:
    JPA常见坑
    IDEA的快捷键使用
    java注解
    @ResponseBody注解之返回json
    mybatis坑之Integer值为null
    Java后端之SQL语句
    SSM项目配置swaggerUI
    mybatis入门案例2
    mybatis入门案例
    部署本地服务器的前端及后端
  • 原文地址:https://www.cnblogs.com/Marydon20170307/p/7218431.html
Copyright © 2020-2023  润新知