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)
String的常规使用集合的更多相关文章
- 判断集合中存在String字符串 或 判断集合中不存在String字符串
一.使用场景 用于集合中有多个相近的字符,无法使用包含判断 如: 这里如果我想判断以上集合中是否包含"信封件-DE"就会被"信封件-DE2"影响到 毕竟:&qu ...
- iOS -Swift 3.0 -String(字符串常规用法)
// // ViewController.swift // Swift-String // // Created by luorende on 16/9/10. // Copyright © 2016 ...
- java基础(10)---leetcode的String、数组以及集合的一些使用
整数 一.整数反转_7 /* 12345 变成 54321 */ public class 整数反转_7 { public static void main(String[] args){ int x ...
- java String转List<Device>集合
// 从Redis中获得正常设备的数量 String success = redisService.get(RedisKey.CULTIVATION_RECORD_SUCCESS); //建立一个li ...
- Swift String类型常规操作
去除string 首尾的空格var str = " Hello the world "let whitespace = NSCharacterSet.whitespaceAnd ...
- c++中string::function集合
string append() 1.直接添加另一个完整的字符串: str1.append(str2); 2.添加另一个字符串的某一段字串: str1.append(str2, 11, 7); ...
- CodeForces - 779D String Game 常规二分
题意:给你两个串,S2是S1 的一个子串(可以不连续).给你一个s1字符下标的一个排列,按照这个数列删数,问你最多删到第几个时S2仍是S1 的一个子串. 题解:二分删掉的数.判定函数很好写和单调性也可 ...
- 3、C#面向对象:封装、继承、多态、String、集合、文件(下)
面向对象多态 一.装箱和拆箱 装箱:将值类型转换为引用类型.object o = 1:值类型给引用类型赋值 拆箱:将引用类型转换为值类型.int n = (int)o; 强制转换为值类型 满足条件:两 ...
- Redis 命令,键(key),字符串(String),哈希(Hash),列表(List),集合(Set)(二)
Redis 命令 Redis 命令用于在 redis 服务上执行操作. 要在 redis 服务上执行命令需要一个 redis 客户端.Redis 客户端在我们之前下载的的 redis 的安装包中. ...
随机推荐
- S1:对象与JSON
JSON全称为JavaScript对象表示法(JavaScript Object Notation). JSON是JavaScript中对象的字面量,是对象的表示方法,通过使用JSON,可以减少中间变 ...
- mouseleave 与 mouseout 的不同
Q:给某div添加mouseout事件后,在空白区域移动到其子元素(如按钮)上(此时并没有离开此div)时,会触发mouseout事件,而mouseleave则不会 A:与 mouseout 事件不同 ...
- 使用ASP.Net WebAPI构建REST服务(六)——Self-Host
Asp.Net WebAPI生成的是一个程序集,并不是独立的进程,因此,要运行的时候必须将其承载在相应的宿主上,一般比较常见的是IIS承载.很多时候,我们为了简化部署或者功能集成,需要将其承载到独立的 ...
- (转载)重新对APK文件签名
1.将证书(debug.keystore)复制到与需要重新签名的apk文件相同的目录下(如:复制到D:\Sign) 2.在cmd中切换到需要重新签名的apk文件的目录下 3.使用WinRAR打开要重新 ...
- 多线程同步内功心法——PV操作上(未完待续。。。)
阅读本篇之前推荐阅读以下姊妹篇: <秒杀多线程第四篇一个经典的多线程同步问题> <秒杀多线程第五篇经典线程同步关键段CS> <秒杀多线程第六篇经典线程同步事件Event& ...
- [安卓]The Google Android Stack
- iOS多语言备选机制
近期伊书突然接到一些外国用户的投诉,说伊书界面变成了中文,但他们系统语言不是中文,是法文俄文日文等,伊书只支持中文跟英文,在不支持系统所用语言的时候,理应会自动选用英文,不知为什么会选成了中文,经过艰 ...
- 重拾java系列一java基础(3)
这一章主要复习下以前所接触的算法, (1)选择排序法:在要排序的一组数中,选出最小的一个数与第一个位置的数交换:然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较 ...
- 《view programming guide for iOS 》之可以使用动画效果的属性
frame—Use this to animate position and size changes for the view. ,框架,可以视图动态改变大小和位置 bounds—Use this ...
- JavaScript经典语录
Js的解析与执行过程: 全局中的解析和执行过程:一:预处理:创建一个此法环境LE, 扫描JS:1.用声明的方式声明的函数(不是函数表达式),2.用var定义的变量.加到预处理阶段的此法环境中 全局环境 ...