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.不可变对象,顾名思义就是创建后的对象 ...
随机推荐
- Qt在vs2010下的配置
https://blog.csdn.net/chenbang110/article/details/7607250 首先不要使用中文目录, 1 下载Qt的安装包和VS2010的Qt插件 2. 安装Qt ...
- 干货 | 玩转云文件存储——利用CFS实现web应用的共享访问
京东云文件服务(Cloud File Service,以下简称:CFS)是一种高可靠.可扩展.可共享访问的全托管分布式文件系统.它可在不中断应用服务的情况下,根据您对文件系统的使用,按需扩展或缩减,并 ...
- nvm安装教程
nvm是一个nodejs的版本管理工具 默认安装位置 C:\Users\userName\AppData\Roaming\nvm x 1 C:\Users\userName\AppData\Ro ...
- BitcoinCore JSONRPC Java使用,创建账号,获取余额,转账等等...
1.首先要安装好bitcoin core服务 上一篇有怎么安装 下面代码支持多钱包多地址动态调用,但让我没用使用多地址,根据自己的需要然后封装方法就好 2.引入jar JavaBitcoinRpcC ...
- 后台用Hbase对表单数据实现增删改查遇到的问题
1.无法解析jsp 原因:hbase中lib下jar包会与tomcat包冲突,需要删除与tomcat冲突的包 这是我删除的几个包 之后运行就没有问题了 2.对于Hbase修改的问题 在添加数据时,HB ...
- Linux-竟态初步引入
(1).竟态全称是:竞争状态,多进程环境下,多个进程同时抢占系统资源(内存.CPU.文件IO). (2).竞争状态对于操作系统OS来说是很危险的,此时的操作系统OS如果没有处理好就会造成结果不确定. ...
- 小程序外链跳转web-view系列问题
1.当小程序需要跳转外链时要上小程序后台配置业务域名,配置业务域名需要上传一个验证文件到你跳转的外链的服务器上的根目录里: 2. (1)第一种方法:.当小程序在同一个页面根据后台接口获取的url进行小 ...
- 5.windows-oracle实战第五课 --事务、函数
什么是事务 事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部失败. 事务和锁 当执行一个事务dml的时候,oracle会被作用 ...
- 安装R的h5包
系统 redhat7 安装H5的包, 依赖系统hdf5包,如下安装完, 发现版本不一致, sudo yum install hdf5-devel 解决办法: 移花接木 sudo ln -s /opt/ ...
- K 破忒头的匿名信(ac自动机+小dp)
题:https://ac.nowcoder.com/acm/contest/4010/K 题意:用一些模式串凑成一个目标串,每个模式串有消耗,问组合的最小消耗,或不能组成输出-1: 分析:典型的AC自 ...