今天先附上代码君:

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. 转: Oracle中的物化视图

    物化视图创建语法:CREATE MATERIALIZED VIEW <schema.name>PCTFREE <integer>--存储参数PCTUSED <intege ...

  2. win7 摄像头驱动软件找不到,只有sys文件

    有的驱动只有sys文件,但是仍然可以在qq视频等用,只是找不到amcap.exe等可执行文件, 因为没有摄像头软件,下载一个安装上即可

  3. UITableViewStyleGrouped 模式下 headview 多出一块高度问题

    self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.tableView ...

  4. ppurl

    ppurl 就这么挂了?? 简直不敢相信 我才刚上不久,它竟然就这么挂啦??? 还是转到哪了? 有人知道吗? 表示我很愤怒,就好像当年新浪爱问共享就这么挂了一样 过了很久我才知道原来它转到新浪微盘了. ...

  5. Android Studio 使用genymotion 模拟器运行app时 提示找不到任何设备

    原因是使用了genymotion 默认的Android toos .打开genymotion  选择设置  ADB  使用自己的SDKtools 选择Android Studio 使用的SDK位置就行 ...

  6. 记录一些容易忘记的属性 -- UILabel

    一:UILabel lbl.alpha=0.f;    lbl 透明,会影响子视图的显示 lbl.backgroundColor=[UIColor clearColor]; lbl 背景色透明,子视图 ...

  7. 实例化(用new的方式)创建一个对象的顺序

    父类静态块--->子类静态块----->父类普通代码块----->父类构造方法------->子类普通代码块----->子类构造方法 如果父类构造方法中调用的非priva ...

  8. Mahout0.9的安装与测试

    最近想实协同过滤的MR算法,但是网上查了一下,发现hadoop的生态系统中的Mahout的项目已经实现了相应的算法,因此想先尝试着实时这个mahout的使用及效果.要想用mahout必须要部署到had ...

  9. c规范(1)

    1文件结构 头文件.h 保存文件声明 定义文件.c  程序实现 2版本标示  用注释 (1)版权信息. (2)文件名称,标识符,摘要. (3)当前版本号,作者 修改者,完成日期. (4)版本历史信息. ...

  10. SecureCRT下的串口无法输入

    用串口配置交换机的时候,出现的问题: 用secureCRT建了一个串口COM1后,连接上开发板后,可以正确接受和显示串口的输出,但是按键输入无效. 解决方法: Session Options -> ...