JAVA中String类以及常量池和常用方法
一、String类的定义
String类特点:String 代表字符串。java程序中所有的字符串文字(例如:"abc")都被实现为String类的子类
String类特点:长度不变,一旦创建,值就不能更改(String类的数据结构是char类型的数组,并且使用了final修饰)、
二、字符串常量池
用于存储编译期间就确定,并被保存在已编译的字节码文件中的一些数据,包括final修饰的常量,以及字符串常量。

三、String类常用方法
public class TestString {
public static void main(String[] args) {
String str="abc";//声明了一个String类型的变量,其值为"abc";
System.out.println(str);
/**String类相当于char类型的数组,数组的长度一旦创建不能更改,value的数组还使用了final进行修饰*/
/**String类的常用方法*/
System.out.println(str.charAt(0)+"\t"+str.charAt(1)+"\t"+str.charAt(2));
System.out.println(str.equalsIgnoreCase("ABc")); //忽略大小写的比较
System.out.println(str.indexOf("b")+"\t"+str.indexOf("k"));//找到返回索引,找不到返回-1
System.out.println(str.indexOf(98)+"\t"+str.indexOf('b')); //str.indexOf('b')叫自动类型转换,自动将char-->int
String str2="helloworld";
System.out.println(str2.indexOf("o")+"\t"+str2.lastIndexOf("o")); //lastIndexOf反向搜索
System.out.println(str2.indexOf("o",5)+"\t"+str2.lastIndexOf("o",3)+"\t"+str2.lastIndexOf("o",7));
System.out.println("字符串字符的个数"+str2.length());
System.out.println(str2.replace('o', 'P'));
System.out.println(str2);
System.out.println(str2.startsWith("hell"));//以XXX开头
System.out.println("Io.java".endsWith(".java"));//以XXX结尾
System.out.println(str2.substring(3));//一直截取到字符串的结尾
System.out.println(str2.substring(3, 7));//含头不含尾
System.out.println(str2);
System.out.println("JAVA".toLowerCase()+"\t"+"java".toUpperCase());
String str3=" hello world ";
System.out.println(str3.length()+"\t"+str3.trim().length());
System.out.println(str3);
str3=str3.trim();
System.out.println(str3);
}
}
JAVA中String类以及常量池和常用方法的更多相关文章
- String类、常量池、字符串比较
String类.常量池.字符串比较 一:String类 1.String类又称作不可变字符序列 2.String位于java.lang包中,Java程序默认导入 ...
- 在java中String类为什么要设计成final?
大神链接:在java中String类为什么要设计成final? - 程序员 - 知乎 我进行了重新排版,并且更换了其中的一个例子,让我们更好理解. String很多实用的特性,比如说“不可变性”,是工 ...
- Java中String类为什么被设计为final?
Java中String类为什么被设计为final 首先,String是引用类型,也就是每个字符串都是一个String实例.通过源码可以看到String底层维护了一个byte数组:private f ...
- Java中String类的方法及说明
String : 字符串类型 一. String sc_sub = new String(c,3,2); // String sb_copy = new String(sb) ...
- java中String类学习
java中String类的相关操作如下: (1)初始化:例如,String s = “abc”; (2)length:返回字符串的长度. (3)charAT:字符操作,按照索引值获得字符串中的指定字符 ...
- 在java中String类为什么要设计成final
在java中String类为什么要设计成final? - 胖胖的回答 - 知乎 https://www.zhihu.com/question/31345592/answer/114126087
- 【转载】Java中String类的方法及说明
转载自:http://www.cnblogs.com/YSO1983/archive/2009/12/07/1618564.html String : 字符串类型 一. String sc_ ...
- java中String类、StringBuilder类和StringBuffer类详解
本位转载自http://www.cnblogs.com/dolphin0520/p/3778589.html 版权声明如下: 作者:海子 出处:http://www.cnblogs.com/dolp ...
- java中String类为什么不可变?
在面试中经常遇到这样的问题:1.什么是不可变对象.不可变对象有什么好处.在什么情景下使用它,或者更具体一点,java的String类为什么要设置成不可变类型? 1.不可变对象,顾名思义就是创建后的对象 ...
随机推荐
- Django2.0——Form组件简单总结
Django提供了一个Form组件来配和前端的表单进行使用,Form有两个强大的功能,分别是生成HTML代码和验证数据的合法性.通常我们不会用其第一个功能,因为前端的设计可以做出更加精美且多样的表单页 ...
- 洛谷 P2722 总分 Score Inflation && 完全背包模板
题目传送门 解题思路: 补一个完全背包的模板,跟01背包十分相似,唯一不同在于重量j的枚举顺序. AC代码: #include<cstdio> #include<iostream&g ...
- JDK的安装与环境变量配置
1.下载JDK后安装,此处安装的是JDK8 2.安装后的路径如下图所示,JDK与JRE在同一个文件夹中 3.安装完JDK后配置环境变量 计算机→属性→高级系统设置→高级→环境变量 4.系统变量→新建 ...
- 记录华为、魅族手机无法打印 Log 日志的问题
http://yifeng.studio/2017/02/26/android-meizu-huawei-not-log/ 实测 MEIZU PRO 6 :打开[设置]中的[开发者选项],页面底部找到 ...
- PAT Basic 反转链表 (25) [链表]
题目 给定⼀个常数K以及⼀个单链表L,请编写程序将L中每K个结点反转.例如:给定L为1→2→3→4→5→6,K为3,则输出应该为3→2→1→6→5→4:如果K为4,则输出应该为4→3→2→1→5→6, ...
- swoole使用协程
协程:协程可以理解为纯用户态的线程,其通过协作而不是抢占来进行切换.相对于进程或者线程,协程所有的操作都可以在用户态完成,创建和切换的消耗更低.Swoole可以为每一个请求创建对应的协程,根据IO的状 ...
- 非线性支持向量机SVM
非线性支持向量机SVM 对于线性不可分的数据集, 我们引入了核(参考:核方法·核技巧·核函数) 线性支持向量机的算法如下: 将线性支持向量机转换成非线性支持向量机只需要将变为核函数即可: 非线性支持向 ...
- python图像处理:一福变五福
快过年了,各种互联网产品都出来撒红包.某宝一年一度的“集五福活动”更是成为每年的必备活动之一. 虽然到最后每人大概也就分个两块钱,但作为一个全民话题,大多数人还是愿意凑凑热闹. 毕竟对于如今生活在大城 ...
- java中 Spring 定时器定时任务Quartz的正确使用方法集配置
定时任务我想大家都不默认,现在流行的框架spring就带了定时任何 我的个人网站(http://www.yzcopen.com)上用户上传的文件都是用这套定时任务执行定时清除 第一步:在applica ...
- Kattis - intersectingrectangles 扫描线+线段树
题目:https://open.kattis.com/problems/intersectingrectangles 题意::给你n个矩形,每一个矩形给你这个矩形的左下角的坐标和右上角的坐标,然后问你 ...