• 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. Jerry的CDS view自学系列

    My CDS view self study tutorial - part 1 how to test odata service generated by CDS view https://blo ...

  2. css 负边距

    负边距 可以改变 他在文档流中的尺寸 当块级元素设置 margin: -10px;  这个快 的大小没变但是他的定位的位置向上串了,压住了上面的文字   而且在他后面的文字  会爬到他身上 而前面的文 ...

  3. 什么时候可以用delete替代delete[]

    针对gcc编译器 C++内存分配和释放函数 //分配单个对象 operator new(std::size_t size) //分配数组对象 operator new[](std::size_t si ...

  4. CAD 二次开发 -- 自动加载开发的DLL

    CAD二次开发可以采用写扩展DLL的方式实现.该DLL的函数可以被CAD调用. 但是调用前,必须用命令netload 将该dll加载到CAD. 其实可以修改注册表,当CAD软件启动后,自动加载扩展DL ...

  5. 错误:'dict' object is not callable

    在晚上学习别人的代码,偶然爆出错误:'dict' object is not callable 找了半天没发现错误.后来还想上文已经有变量名为dict. 因此dict在下面程序中被认为是一个变量不是内 ...

  6. 【CentOS】php编译安装gd库

    一.准备工作 使用之前服务器按源码最小化安装完nginx.php-fpm,没有安装gd库,下面介绍下gd库的安装. gd库是一个开源的图像处理库,它通过提供一系列用来处理图片的API,使其可以用来创建 ...

  7. xss框架基础框架实现

    0x00web服务器设计 (1)tornado处理请求和Application类要编写一个Tornado应用中最多的工作是定义类继承Tornado的RequestHandler类,主要用于将特定的ur ...

  8. CodeForces-2015 HIAST Collegiate Programming Contest-Gym-100952A-Who is the winner?

    A. Who is the winner? time limit per test 1 second memory limit per test 64 megabytes input standard ...

  9. UVA10341-Solve It-二分查找

    二分查找 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好:其缺点是要求待查表为有序表,且插入删除困难.因此,折半查找方法适用于不经常变动而查找频繁的有序列表.首先,假设表中元素是按升序 ...

  10. java初学

    1.Scanner类 1)使用 a.导入Scanner类 improt java.util.Scanner; b.创建Scanner对象 Scanner input = new Scanner(Sys ...