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.不可变对象,顾名思义就是创建后的对象 ...
随机推荐
- iOS 蓝牙开发详解
目前iOS智能硬件的开发交互方式主要分为两种,一种是基于低功耗的蓝牙4.0技术(由于耗电低,也称作为BLE(Bluetooth Low Energy))对应iOS的框架为CoreBluetooth,另 ...
- leetcode 994.腐烂的橘子
题目: 在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格: 值 1 代表新鲜橘子: 值 2 代表腐烂的橘子. 每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂 ...
- android设备内部添加apn信息
由于工作原因今天需要给多台android设备中写入某张sim卡的apn相关信息,虽然可以通过sqlite命令写sql语句来写入到设备中,但设备一多起来就太低效了,所以在学习的过程中摸索着写了一个将ap ...
- Tkinter控件Canvas
网上关于tkinter的canvas组件系统的中文教程很少,英文教程未知.要么是专业的参考文档,没有丰富的实例,要么在不同的论坛,博客平台零零散散存在一些canvas的例子,这给学习canvas带来了 ...
- if_while
import random secret=random.randint(1,10) tmp=input("请输入一个数") guess=int(tmp) while guess!= ...
- Java 开发者必须了解的 16 个Java 顶级开源项目!
本文已经收录自笔者开源的 JavaGuide: https://github.com/Snailclimb/JavaGuide ([Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核 ...
- SRS|Stratified sampling|系统抽样|Cluster sampling|multistage sampling|
生物统计学 总体和抽样 抽样方法: ========================================================= 简单随机抽样SRS:随机误差,系统误差 标准误, ...
- Iterator接口(迭代器)的使用
Iterator接口(迭代器) 前言 在程序开发中,经常需要遍历集合中的所有元素.针对这种需求,JDK专门提供了一个接口java.util.Iterator.Iterator接口也是Java集合中的一 ...
- linux 线程间发送信号
线程间通过 pthread_kill(thid,signo)给指定的thid线程发送signo信号. 创建线程与线程屏蔽字顺序 1. pthread_create(); pthread_sigm ...
- android上线之前代码混淆加密
https://blog.csdn.net/zuiwuyuan/article/details/48552701# https://blog.csdn.net/chaoyu168/article/de ...