今天先附上代码君:

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)

String的常规使用集合的更多相关文章

  1. 判断集合中存在String字符串 或 判断集合中不存在String字符串

    一.使用场景 用于集合中有多个相近的字符,无法使用包含判断 如: 这里如果我想判断以上集合中是否包含"信封件-DE"就会被"信封件-DE2"影响到 毕竟:&qu ...

  2. iOS -Swift 3.0 -String(字符串常规用法)

    // // ViewController.swift // Swift-String // // Created by luorende on 16/9/10. // Copyright © 2016 ...

  3. java基础(10)---leetcode的String、数组以及集合的一些使用

    整数 一.整数反转_7 /* 12345 变成 54321 */ public class 整数反转_7 { public static void main(String[] args){ int x ...

  4. java String转List<Device>集合

    // 从Redis中获得正常设备的数量 String success = redisService.get(RedisKey.CULTIVATION_RECORD_SUCCESS); //建立一个li ...

  5. Swift String类型常规操作

    去除string 首尾的空格var str = " Hello the world   "let whitespace = NSCharacterSet.whitespaceAnd ...

  6. c++中string::function集合

    string append() 1.直接添加另一个完整的字符串: str1.append(str2); 2.添加另一个字符串的某一段字串:    str1.append(str2, 11,  7); ...

  7. CodeForces - 779D String Game 常规二分

    题意:给你两个串,S2是S1 的一个子串(可以不连续).给你一个s1字符下标的一个排列,按照这个数列删数,问你最多删到第几个时S2仍是S1 的一个子串. 题解:二分删掉的数.判定函数很好写和单调性也可 ...

  8. 3、C#面向对象:封装、继承、多态、String、集合、文件(下)

    面向对象多态 一.装箱和拆箱 装箱:将值类型转换为引用类型.object o = 1:值类型给引用类型赋值 拆箱:将引用类型转换为值类型.int n = (int)o; 强制转换为值类型 满足条件:两 ...

  9. Redis 命令,键(key),字符串(String),哈希(Hash),列表(List),集合(Set)(二)

      Redis 命令 Redis 命令用于在 redis 服务上执行操作. 要在 redis 服务上执行命令需要一个 redis 客户端.Redis 客户端在我们之前下载的的 redis 的安装包中. ...

随机推荐

  1. js基础之arguments、css

    arguments就是一个包含传入的参数的数组对象 栗子一: function sum(){ var result=0; for(var i=0;i<arguments.length;i++){ ...

  2. 二模 (4) day1

    第一题: 题目描述: 有一个无穷序列如下:110100100010000100000…请你找出这个无穷序列中指定位置上的数字 解题过程: 1.考虑到1的数目比0少的多,就从1的位置的规律开始分析.前几 ...

  3. Java并发编程(二)线程任务的中断(interrupt)

    使用interrupt()中断线程 当一个线程运行时,另一个线程可以调用对应的Thread对象的interrupt()方法来中断它,该方法只是在目标线程中设置一个标志,表示它已经被中断,并立即返回. ...

  4. bzoj 3529 数表 莫比乌斯反演+树状数组

    题目大意: 有一张N×m的数表,其第i行第j列(1 < =i < =礼,1 < =j < =m)的数值为能同时整除i和j的所有自然数之和.给定a,计算数表中不大于a的数之和. ...

  5. 傅里叶变换:MP3、JPEG和Siri背后的数学

    九年前,当我还坐在学校的物理数学课的课堂里时,我的老师为我们讲授了一种新方法,给我留下了深刻映像.我认为,毫不夸张地说,这是对数学理论发现最广泛的应用.应用的领域包括:量子物理.射电天文学.MP3和J ...

  6. 框架之 spring

    spring有两大特性,其一为ioc,其二为aop 1.ioc的理解 ioc为依赖注入,他的好处就是把创建对象的权利交给spring去管理,这样的好处是 将应用程序中的对象解耦,传统的方式程序中的对象 ...

  7. RPI学习--WebCam_mplayer

    1,安装mplayer $ sudo apt-get install mplayer 2,运行 $ sudo mplayer tv:// 有时会秀逗,绿屏,多试几下就好了,情况未知

  8. Javascript 基础--JS函数(三)

    一.基本概念:未完成某一个功能的代码(语句,指令)的集合. 二.函数的调用方式: 2.1.函数名(传递参数1,传递参数2)   基本语法 function 函数名(参数列表){ //代码; retur ...

  9. Ubuntu 14.10 下sed命令详解

    简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的 ...

  10. 利用pl/sql developer进行远程连接oracle server出现的问题及解决办法

    由于本人刚刚给自己的笔记本做了系统,由原来的32位系统编程现在的64位系统,所以,很多软件由于兼容性,不得不重新安装...当我安完了pl/sql developer工具后,就满心欢喜的去连接远程ora ...