• String的常规使用集合


    今天先附上代码君:

    package com.jacob.javase;
    import java.io.UnsupportedEncodingException;
    /*

     *探讨String:
     *
     */
    public class TestString {
    public static void main(String[] args) throws UnsupportedEncodingException {
    // 1. String的连接
    String a = "xie";
    String a1 = "xie";
    int a3 = 1, a4 = 12;
    String a2 = new String("xie");
    String b = "ji";
    String c = a + b;
    String c1 = a3 + a4 + c;// 相加至少有一个字符串
    a.concat(c);
    System.out.println(c + " " + a.concat(c) + " " + c1);
    // 2. equals与==:一个比较内容,一个比较地址@
    Boolean d = a.equals(a1);
    Boolean d1 = a.equals(a2);
    boolean e = a == a1;
    boolean f = a == a2;
    System.out.println(d + " " + e + " " + f + " " + d1);
    // 3.getBytes:转化为byte数组,便于数据的存储和运输
    String h = "谢骥";
    byte[] h1 = h.getBytes("gb2312");
    for (int i = 0; i < h1.length; i++) {
    System.out.print(h1[i] + " ");
    }
    String h2 = new String(h1, "gb2312");
    System.out.println(h2);
    // 4.indexOf方法:该方法的作用是查找特定字符或字符串在当前字符串中的起始位置,如果不存在则返回-1
    String k = "abcabded";
    int k1 = k.indexOf('b');


    int k2 = k.lastIndexOf('d');
    int k3 = k.indexOf('b', 3);
    int k4 = k.indexOf('b', 0);
    int k5 = k.indexOf("cded");
    System.out.println(k1 + " " + k2 + " " + k3 + " " + k4 + " " + k5);
    String o = "谢集";
    String o1 = "oracle";
    System.out.println(o1.length() + " " + o.length() + " "
    + (o + o1).length());
    // 5.replace的是使用
    String p = k.replace('a', 'A');// AbcAbded
    String p1 = k.replaceAll("ab", "ABC");// ABCcABCded
    String p2 = k.replaceFirst("ab", "AB");// ABcabded
    System.out.println(p + " " + p1 + " " + p2);
    // 6.split:拆分字符串
    String q = "abbbcbtbbb";
    String q1[] = q.split("b");
    String q2[] = q.split("b", 2);
    // 第二个参数为负数,则拆分出尽可能多的字符串,包括尾部的空字符串也将被保留
    // String q3[] = q.split("b", -1);
    // for(int i=0;i<q3.length;i++){
    // System.out.print(q1[i]+" ");
    // System.out.print(q2[i]+" ");
    // System.out.println(q3[i]+" ,");
    // }
    // 7.subString的用法:截取子串
    String r = "xieji cute";
    // 获取所有子串
    for (int start = 0; start <= r.length() - 1; start++) {
    for (int end = start + 1; end <= r.length(); end++) {
    System.out.print(r.substring(start, end) + ",");
    }
    System.out.println();
    }
    r.substring(2, 4);
    System.out.println(r.substring(6) + "," + r.substring(10) + ",");
    // 8.toCharArray:变为char字符串
    String s = "aBc";
    char[] s1 = s.toCharArray();
    for (int i = 0; i < s1.length; i++) {
    System.out.print(s1[i] + ",");
    }
    // 9.大小写
    s.toUpperCase();
    System.out.print(s.toUpperCase() + "," + s.toLowerCase());
    // 10. trim:截取首尾两端的空白:具体是判断首字位的编码是否大于“ ”(空白字符编码),大于
    // 创建一个String对象并返回此值至
    // 依此判断的末尾,取子串==substring(start,end+1);若无,返回空白串
    String t = " xieji ";
    String t1 = "     ";
    t.trim();
    t1.trim();
    System.out.print(t.trim() + "," + t1.trim() + "$");
    // 11. valueOf():static方法:创建不产生新对象
    // 11.1 int转化为String的方法
    int u = 12345;
    // valueOf可以使用其他变量,而toString只能是int
    String u1 = String.valueOf(false);
    int length = u1.length();
    // 11.2 int转化为String的方法
    String u2 = "";
    String u3 = u2 + u + "a";
    // 11.3 int转化为String的方法
    String u4 = Integer.toString(u);
    // 11.4 String转化为int的方法
    int u5 = Integer.parseInt(u4);
    // 11.5 String转化为int的方法
    int u6 = Integer.valueOf(u4).intValue();
    System.out.print(u1 + "," + length + "," + u3 + "," + u4 + "," + u5
    + "," + u6);
    }
    }

    以上就是常用的String中的方法了(个例可以查找相关API)

    另外有几个注意点(分享一下):

    trim:

    1.使用不会产生创建对象情况:String的第一个字符和最后一个字符的Unicode的值都大于(u0020)即 空格符字符

    2.会

    2.1 整个String的字符都小于(u0020)即 空格符字符:会创建一个空字符并指向引用

    2.2 String的字符部分小于(u0020):会进行截取,也就是说的去除首尾的空白

    附上源码:

        public String trim() {
            int len = value.length;
            int st = 0;
            char[] val = value;    /* avoid getfield opcode */


            while ((st < len) && (val[st] <= ' ')) {
                st++;
            }
            while ((st < len) && (val[len - 1] <= ' ')) {
                len--;
            }
            return ((st > 0) || (len < value.length)) ? substring(st, len) : this;
        }

    valueOf:

    是静态方法:调用不创建对象

    其与 interger.Tostring()的区别就是:

    valueOf(变量可以是char、Boolean、int、double……):其实就是重载了这个方法

    interger.Tostring(int),对,就这一个类型变量,单一了哈注解:其与valueOf(int)是一样一样的

    看源码:

    1.String.valueOf(int i)


    2.integer.ToString(int i)



  • 相关阅读:
    koa2 ctx.body 在 mysql query的回调函数中无法赋值的问题
    hibernate 实现多表连接查询
    Struts2 的国际化实现
    struts2 dwr There is no Action mapped for action ... 原因及解决方案
    Hibernate4.1配置数据库连接池 org.hibernate.service.jndi.JndiException:Unable to lookup JNDI name java:comp/env...
    Android 使用JSON格式与服务器交互 中文乱码问题解决
    Struts2 访问 Servlet API 的三种方法
    Struts2 输入校验
    hibernate4 和 spring3 整合注意事项 否则java.lang.NoSuchMethodError异常
    MySQL密码忘记的解决方案
  • 原文地址:https://www.cnblogs.com/xieji233/p/6155662.html
Copyright © 2020-2023  润新知