Java基础 String

String类

  • 字符串是一个特殊的对象。

  • 字符串一旦初始化就不可以被改变。

 

String s="abc";//创建一个字符串对象在常量池中 ​ String s1=new String("abc");//创建了两个对象,一个new字符串对象在堆内存中。类比new一个对象的内存图

特点:

  1. 字符串对象一旦被初始化就不会改变。

  2. 字符串常量池没有就建立;池中有,直接使用。共享

String构造函数

主要几个String构造函数

String(byte[] bytes){}//字节型 String(byte[] bytes,int offset,int length){} String(char[] arr){}//字符数组 String(char[] arr,int offset,int count){}

常见功能

获取

1、获取字符串中字符的个数(长度)

int  length();

2、根据位置获取字符

char  charAt(int index);

3、根据字符(字符串)获取字符串中第一次出现的位置。从前往后查

1. int  indexOf(int ch); 2. int  indexOf(int ch,int fromIndex); //从指定位置对ch进行查找 3. int  indexOf(String str); 4. int  indexOf(String str,int fromIndex);

4、根据字符(字符串)获取字符串中第一次出现的位置。从后往前查

1. int  lastIndexOf(int ch); 2. int  lastIndexOf(int ch,int fromIndex); 3. int  lastIndexOf(String str); 4. int  lastIndexOf(String str,int fromIndex);

5、获取字符串中一部分字符串,子串

String substring(int beginIndex, int endIndex);//左闭右开。(要begin不要end) String substring(int beginIdex);

转换

1、将字符串转换成字符串数组(切割)

String[] split(String regex);//涉及到正则表达式

2、将字符串转换成字符(char)数组

char[] toCharArray();

3、将字符串转换成字节数组

byte[] getBytes();

4、将字符串中的字母转换成大小写

String toUpperCase();//大写 String toLowerCase();//小写

5、将字符串中的内容进行替换

String replace(char oldChar,char nowChar); String replace(String s1,String s2);

6、将字符串两端空格去除

String trim();

7、将字符串进行连接

String concat(String str);

判断

1、两个字符串内容是否相同

boolean equals(Object obj); boolean equalsIgnoreCase(String str); //忽略大小写比较字符串内容

2、字符串中是否包含指定字符串

boolean contains(String str);

3、字符串是否以指定字符串开头,或结尾

boolean startsWith(String str);//开头 boolean endsWith(String str);//结尾

比较

按字典顺序比较两个字符串

int compareTo(String anotherString)

字符串对象的规范化表示

String intern();

事例:

String t=new String("abc");//new一个String对象,在堆内存中 t.intern();//将"abc"添加进字符串池中
(0)

相关推荐

  • String常用方法总结

    String常用方法 1. length()字符串的长度 String a = "Hello Word!";System.out.println(a.length); 输出的结果是 ...

  • Java基础之:泛型

    Java基础之:泛型 在不使用泛型的情况下,在ArrayList 中,添加3个Dog. Dog对象含有name 和 age, 并输出name 和 age (要求使用getXxx()). package ...

  • Java 基础知识

    Java 基础知识

  • Java 基础语法

    注释 #单行注释 // 这里是单行注释 #多行注释 /* 这里是 多行注释 */ #JavaDoc /* *@Description: *@Author: */ Java可以使用中文命名 但不建议使用 ...

  • Java基础(第二期)

    数据类型扩展以及面试题讲解 整数拓展:进制 int i=10; int i2=010; //八进制0 int i3=0x10; //十六进制0x 0~9 A~F 16 相关进制转换自行学习,用的不多 ...

  • Java开发工程师最新面试题库系列——Java基础部分(附答案)

    JAVA基础 如果你有更好的想法请在评论区留下您的答案,一起交流讨论 面向对象有哪些特征? 答:继承.封装.多态 JDK与JRE的区别是什么? 答:JDK是java开发时所需环境,它包含了Java开发 ...

  • Java中String类的concat方法

    在了解concat()之前,首先需要明确的是String的两点特殊性. 长度不可变 值不可变  这两点从源码中对String的声明可以体现: private final char[] value ; ...

  • 全栈必备 Java基础

    那一年,从北邮毕业,同一年,在大洋的彼岸诞生了一门对软件业将产生重大影响的编程语言,它就是--Java.1998年的时候,开始学习Java1.2,并在Java Orbix 上做服务,而如今Java 9 ...

  • 100个你应该知道的java基础知识

    100个你应该知道的java基础知识

  • java中String str=""与new String()的区别

    常量池: 常量池(constant pool)指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据.它包括了关于类.方法.接口等中的常量,也包括字符串常量. 在常量池中存储字符串常量的 ...