• String


import java.io.IOException;
import java.util.Arrays; public class Linkin
{
public static void main(String[] args) throws IOException
{
String str = "LinkinPark...";
//找到某一处char值
System.out.println(str.charAt(0));
//测试某一个字符串是否和当前字符串相同
System.out.println("Linkin".equals(str));
//判断该字符串的前缀和后缀
System.out.println(str.startsWith("Lin"));
System.out.println(str.endsWith("..."));
//判断该字符串是否包含指定的内容
System.out.println(str.contains("kin"));
//将指定字符串连接到此字符串的结尾 一般不怎么用 直接用+号连接就好了
System.out.println(str.concat("binger"));
System.out.println(str+"binger");
//使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
byte[] bytes = str.getBytes();
for (byte b : bytes) {
System.out.println(b);
}
//返回指定子字符串在此字符串中第一次出现处的索引
System.out.println(str.indexOf("kin"));
//返回指定字符在此字符串中最后一次出现处的索引
System.out.println(str.lastIndexOf("P"));
//当且仅当 length() 为 0 时返回 true。
System.out.println(str.isEmpty());
//返回此字符串的长度
System.out.println(str.length());
//返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
System.out.println(str.replace("L", "B"));
//根据给定正则表达式的匹配拆分此字符串,返回的是字符串数组
System.out.println(Arrays.asList(str.split("i")));
//返回字符串的副本,忽略前导空白和尾部空白
System.out.println(str.trim());
//返回一个新的字符串,它是此字符串的一个子字符串。 后面还可以跟一个参数,表示结尾
System.out.println(str.substring(2));
//返回 int 参数的字符串表示形式 一般不怎么用 直接用加号连接就好了
System.out.println(String.valueOf(2));
System.out.println(2+"");
} }

  • 字符串与字符数组


String 类的构造方法:String(char[]) 和 String(char[],int offset,int length) 分别用字符数组中的全部字符和部分字符创建字符串对象 

String类提供了将字符串存放到数组中的方法:public void getChars(int start,int end,char c[],int offset ) 

将字符串中的全部字符存放在一个字符数组中的方法:public char[] toCharArray()   





  • 字符串与字节数组
String(byte[])用指定的字节数组构造一个字符串对象。String(byte[],int offset,int length) 用指定的字节数组的一部分,即从数组起始位置offset开始取length个字节构造一个字符串对象。

public byte[] getBytes() 方法使用平台默认的字符编码,将当前字符串转化为一个字节数组。

public byte[] getBytes(String charsetName) 使用参数指定字符编码,将当前字符串转化为一个字节数组。 





  • StringBuffer,StringBuilder
StringBuffer append(String s)  StringBuffer append(int n)   

StringBuffer append(Object o)  StringBuffer append(char n)

StringBuffer append(long n),StringBuffer append(boolean n),

StringBuffer append(float n),StringBuffer append(double n),

public chat charAt(int n )

public void setCharAt(int n ,char ch)

StringBuffer insert(int index, String str) :

public StringBuffer reverse() 

StringBuffer delete(int startIndex, int endIndex) 

StringBuffer replace( int startIndex ,int endIndex, String str)



import java.io.IOException;

public class Linkin
{
public static void main(String[] args) throws IOException
{
//一般使用的构造器有2个 一个无参的 一个传入一个字符串的
StringBuilder sb = new StringBuilder();
//追加字符串
sb.append("LinkinPark...");
//替换
sb.replace(0, 1, "binger");
//删除
sb.delete(0, 1);
//反转
sb.reverse();
// 设置字符序列的长度
sb.setLength(3);
//toString 返回字符串
System.out.println(sb.toString());
} }



StringBuilder 和 StringBuffer 非常类似,均代表可变的字符序列,而且方法也一样,关于三者的区别:


String:不可变字符序列

StringBuilder:可变字符序列、效率高、线程不安全

StringBuffer:可变字符序列、效率低、线程安全


String使用陷阱:

string s="a"; //创建了一个字符串 s=s+"b"; //实际上原来的"a"字符串对象已经丢弃了,现在又产生了一个字符串s+"b"(也就是"ab")。如果多次执行这些改变串内容的操作,会导致大量副本字符串对象存留在内存中,降低效率。如果这样的操作放到循环中,会极大影响程序的性能。在玩hibernate的时候,写hql往往要串好多的字符串,记住以后不管是否拼接不拼接hql,统一使用stringBuiler。



java常用类--字符串的更多相关文章

  1. Java基础 —— Java常用类

    Java常用类: java.lang包: java.lang.Object类: hashcode()方法:返回一段整型的哈希码,代表地址. toString()方法:返回父类名+"@&quo ...

  2. Java常用类学习笔记总结

    Java常用类 java.lang.String类的使用 1.概述 String:字符串,使用一对""引起来表示. 1.String声明为final的,不可被继承 2.String ...

  3. Java 常用类总结(SE基础)

    本篇博客对java常用类相关知识进行了归纳总结,比较详细,适用于学习和复习. 1. 字符串相关的类 1.1 String String是一个final类,代表不可变的字符序列.不可被继承. Strin ...

  4. Java常用类的使用

    Java常用类 1. Optional 在我们的开发中,NullPointerException可谓是随时随处可见,为了避免空指针异常,我们常常需要进行 一 些防御式的检查,所以在代码中常常可见if( ...

  5. Java常用类之要点总结

    Java常用类之要点总结

  6. Java常用类:包装类,String,日期类,Math,File,枚举类

    Java常用类:包装类,String,日期类,Math,File,枚举类

  7. java常用类-上

    一,常用类之一包装类 java开发中习惯把八大基本数据类型封装到一个类中,并提供属性和方法,更方便的操作基本数据类型. 包装类的出现并不是用于取代基本数据类型,也取代不了. 包装类位于java.lan ...

  8. 第十四章 Java常用类

    14.常用类 14.1 字符串相关的类 1课时 14.2 JDK 8之前时间日期API 1课时 14.3 JDK8中新时间日期API 1课时 14.4 JDK8中的Optional类 1课时 14.5 ...

  9. Java 常用类String类、StringBuffer类

    常用类 String类.StringBuffer类 String代表不可变的字符序列 "xxxxxxx"为该类的对象 举例(1) public class Test { publi ...

随机推荐

  1. 【二分图裸题】poj1325机器调度

    题目大意:有两个机器A和B,A机器有n个模式,B机器有m个模式,两个机器最初在0模式 然后有k个作业,每个作业有三个参数i,a,b i代表作业编号,a和b代表第i作业要么在A机器的a模式下完成[或者] ...

  2. 解决mariadb grant ERROR 1045 (28000): Access denied for user

    下面我们一起来看一篇解决mariadb grant ERROR 1045 (28000): Access denied for user问题,希望文章能够帮助到各位朋友.   用mariadb也有一段 ...

  3. IdentityServer4 中文文档

    一.介绍 特性一览 整体介绍 术语的解释 支持的规范 包和构建说明 二.快速入门 设置和概述 #1 使用客户端证书控制API访问 #2 使用密码认证方式控制API访问 #3 使用OpenId Conn ...

  4. 学习笔记-express路径问题

    在页面渲染成功之后,报错出现静态文件css样式引用路径出错,于是我就根据express api文档,托管静态文件作出修改,最后全是徒劳.于是我又从引用开始找起,<link rel="s ...

  5. Playrix Codescapes Cup (Codeforces Round #413, rated, Div. 1 + Div. 2)(A.暴力,B.优先队列,C.dp乱搞)

    A. Carrot Cakes time limit per test:1 second memory limit per test:256 megabytes input:standard inpu ...

  6. [bzoj1500 维修数列](NOI2005) (splay)

    真的是太弱了TAT...光是把代码码出来就花了3h..还调了快1h才弄完T_T 号称考你会不会splay(当然通过条件是1h内AC..吓傻)... 黄学长的题解:http://hzwer.com/28 ...

  7. hdu_1012(水题。。。不能再水)

    #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using ...

  8. 搬寝室(经典dp)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1421 hdu_1421:搬寝室 Time Limit: 2000/1000 MS (Java/Othe ...

  9. Centos7安装和卸载Mongodb数据库

    MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非 ...

  10. net+Oracle开发过程中遇到的小问题

    最新的项目开始使用Oracle后,5个月之间遇到一些在SqlServer中没有遇到的问题,这里记录并贴上一些常用的解决办法. Oracle相关 一.数据库不同版本还原: 刚开始我们一直使用Oracle ...