zoukankan      html  css  js  c++  java
  • 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)



  • 相关阅读:
    ERROR Function not available to this responsibility.Change responsibilities or contact your System Administrator.
    After Upgrade To Release 12.1.3 Users Receive "Function Not Available To This Responsibility" Error While Selecting Sub Menus Under Diagnostics (Doc ID 1200743.1)
    产品设计中先熟练使用铅笔 不要依赖Axure
    12.1.2: How to Modify and Enable The Configurable Home Page Delivered Via 12.1.2 (Doc ID 1061482.1)
    Reverting back to the R12.1.1 and R12.1.3 Homepage Layout
    常见Linux版本
    网口扫盲二:Mac与Phy组成原理的简单分析
    VMware 8安装苹果操作系统Mac OS X 10.7 Lion正式版
    VMware8安装MacOS 10.8
    回顾苹果操作系统Mac OS的发展历史
  • 原文地址:https://www.cnblogs.com/xieji233/p/6155662.html
Copyright © 2011-2022 走看看