03-Java String字符串详解
1、Java字符串String
A、实例化String字符串:直接赋值(更合理一些,使用较多)、使用关键字new。
B、String内容的比较
// TODO Auto-generated method stub
// int a=10;
// int b=10;
// System.out.println(a==b);
String str="Hello";
String str1=new String("Hello");
System.out.println(str==str1); //“==”比较的是地址
System.out.println(str.equals(str1)); //“equals”比较的是内容,只用这个
2、String 常用方法
(1)字符串长度:length()
String str="jikexueyuan";
System.out.println(str.length());结果为:11
(2)字符串转换数组:toCharArray()
String str="jikexueyuan";
char data[]=str.toCharArray();
for(int i=0;i<data.length;i++){
System.out.print(data[i]+" "); 结果:j i k e x u e y u a n
(3)从字符串中取出指定位置的字符:charAt()
System.out.println(str.charAt(7)); 结果:y
(4)字符串与byte数组的转换:getBytes()
String str="jikexueyuan";
byte bytes[]=str.getBytes();
for(int i=0;i<bytes.length;i++){
System.out.println(new String(bytes)+"\t")
结果:jikexueyuan
jikexueyuan
jikexueyuan
jikexueyuan
jikexueyuan
(5)过滤字符串中存在的字符:indexOf()
String str="jikexueyuan@qq.com";
System.out.println(str.indexOf("@"));
结果:11
(6)去掉字符串的前后空格:trim()
String str=" jike@qq.com";
System.out.println(str);
System.out.println(str.trim());
结果:
jike@qq.com
String str=" jike@qq.com ";
System.out.println(str+"AA");
System.out.println(str.trim()+"AA");
结果:
jike@qq.com AA
jike@qq.comAA
(7)从字符串中取出子字符串:subString()
(8)大小写转换:toLowerCase() toUpperCase() (Java对大小写敏感)
(9)判断字符串的开头结尾字符:endsWith() startWith()
(10)替换String字符串中的一个字符:replace()
3、Java StringBuffer方法
StringBuffer,缓冲区,本身也是操作字符串,但是与String不同,StringBuffer是可以更改的。StringBuffer是一个操作类,所以必须通过实例化进行操作。
StringBuffer常用方法:
(1)append():追加
(2)insert(): 插入字符串
StringBuffer sbf=new StringBuffer();
sbf.append("hello");
sbf.insert(0, "i love");//0是插入的位置,追加在前面了
System.out.println(sbf.toString());
结果:i lovehello
(3)replace():替换字符串
StringBuffer sbf=new StringBuffer();
sbf.append("hello");
sbf.insert(0, "i love");
System.out.println(sbf.toString());
sbf.replace(1, 3, "wwwtliu");//从第2个位置到第4个位置替换为wwwtliu
System.out.println(sbf.toString());
结果:
i lovehello
iwwwtliuovehello
(4)indexOf():与string的类似
StringBuffer类的应用:
StringBuffer str =new StringBuffer();
str.append("jikexueyuan");
for (int i = 0; i < 100; i++) {
str.append(i); }
System.out.println(str.toString());
4、Java StringBuider用法
(1)一个可变的字符序列,该类被设计作用StringBuffer的一个简易替换,用在字符串缓冲区被单个线程使用的时候。建议优先考虑该类,速度比StringBuffer要快。
(2)但是如果设计到线程安全方面,建议使用StringBuffer
(3)常用方法:Append()和insert()
03-Java String字符串详解的更多相关文章
- Java String类详解
Java String类详解 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生. 类结构: public final ...
- String 字符串详解 / 常用API
String 详解 / 常用API 简介 String 是不可改变的字符串序列.String 为字符串常量 StringBuilder 与StringBuffer 均为可改变的字符串序列.为字符串变量 ...
- java String.Format详解
JDK1.5中,String类新增了一个很有用的静态方法String.format(): format(Locale l, String format, Object... args) 使用指定的语言 ...
- C# string 字符串详解 恒定 驻留
string是一种很特殊的数据类型,它既是基元类型又是引用类型,在编译以及运行时,.Net都对它做了一些优化工作,正式这些优化工作有时会迷惑编程人员,使string看起来难以琢磨.这篇文章共四节,来讲 ...
- 【转】Java魔法堂:String.format详解
Java魔法堂:String.format详解 目录 一.前言 二.重载方法 三.占位符 四.对字符.字符串进行格式化 五.对整数进行格式化 六. ...
- java 复习整理(四 String类详解)
String 类详解 StringBuilder与StringBuffer的功能基本相同,不同之处在于StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此效率上S ...
- Swift_字符串详解(String)
Swift_字符串详解(String) 类型别名 //类型别名 fileprivate func testTypeAliases() { let index = String.Index.self p ...
- JAVA IO 类库详解
JAVA IO类库详解 一.InputStream类 1.表示字节输入流的所有类的超类,是一个抽象类. 2.类的方法 方法 参数 功能详述 InputStream 构造方法 available 如果用 ...
- Java集合类的详解与应用
Java集合类的详解与应用 集合简介: 1.定义:可以同时存储不同类型的数据 他的存储空间会随着数据的增大而增大 2.缺点:只能存储引用数据类型 3.优点:更加合理的利用空间,封装了更多的方法,用起来 ...
随机推荐
- 2016 - 1- 22 HTTP(三)
一: iOS中发送HTTP请求的方案 三: HTTP通信过程 1.请求 1.1 HTTP协议规定,一个完整的有客户端发给服务器的请求应包含以下内容: 1.1.1 请求头: 包含了对客户端环境的描述与 ...
- php大力力 [014节] 八杆子打不着的非技术文章,哈哈
今天似乎是个值得纪念的日子 一个创业失败者的忠告:请不要再参加创业活动 PHP mysql_connect() 函数 mysql默认用户 随意发几个链接,没任何意义
- UVA11149 矩阵快速幂
首先我们来想一下计算A+A^2+A^3...+A^k. 如果A=2,k=6.那你怎么算 2+22+23+24+25+26 = ?= (2+22+23)*(1+23) 如果A=2,k=7.那你怎么算 2 ...
- [转]MMORPG服务器架构
MMORPG服务器架构 一.摘要 1.网络游戏MMORPG整体服务器框架,包括早期,中期,当前的一些主流架构2.网络游戏网络层,包括网络协议,IO模型,网络框架,消息编码等.3.网络游戏的场景管理,A ...
- magento日常使用
magento order number长度(修改)设置 2013年3月15日星期五 Asia/Shanghai上午10时22分02秒 1-进入要修改的该网站的数据库:2-找到表名:eav_entit ...
- 阅读<构建之法>第13、14、15、16、17章 与 《一个程序员的生命周期》读后感
第十三章 软件测试 这一章介绍了很多关于测试的方法,比如说单元测试,代码覆盖率测试,构建验证测试,验收测试等,我有一个很纠结的问题,如果我开发软件,是把这么多测试全做完,还是挑一些测试来进行呢?如 ...
- C/C++访问PostgreSQL数据库
编号:1011时间:2016年5月17日09:46:01功能:Windows环境下C/C++访问PostgreSQL数据库https://segmentfault.com/a/119000000062 ...
- 《JS高程》实现继承的6种方式(完整版)
许多OO语言都支持 两种继承方式: (1)接口继承:只继承方法签名: (2)实现继承:继承实际的方法. ECMAScript 由于函数没有签名,无法实现接口继承,因此只支持实现继承,而且主要是依靠原型 ...
- Think Python - Chapter 11 - Dictionaries
Dictionaries A dictionary is like a list, but more general. In a list, the indices have to be intege ...
- Trinity 安装
http://trinityrnaseq.github.io/ 安装包下载地址: https://github.com/trinityrnaseq/trinityrnaseq/releases 解压 ...