Java中的String类
/*
String类用于描述字符串事物的
那么它就提供了多个方法对字符串进行操作
方法都会用,字符串这块就结束了
常见的操作有哪些?
“abcd”
它应该具备什么功能,我们才能更好得操作它?
1.获取(必须要掌握)
1.1 字符串中包含的字符数,也就是字符串的长度
int length() 然而数组也有长度,数组调用的length没有括号,是属于属性,但是字符串是方法
1.2 根据位置获取位置上的某个字符
char charAt(int index)
1.3 根据字符获取该字符在字符串中的位置
int indexof(int ch) 返回字符ch在字符串中第一次出现的位置
int indexpf(int ch,int fromIndex) 从fromIndex指定位置开始,获取ch在字符串中出现的位置
int indexof(String str) 返回的是str在字符串中第一次出现的位置
nt indexpf(String str,int fromIndex) 从fromIndex指定的位置开始,获取str在字符串中出现的位置
反向索引----方法加多一个last就可以
2.判断
2.1 字符串中是否包含某一个子串
boolean contains(str);
int indexof(int ch) 返回字符ch在字符串中第一次出现的位置 有异曲同工之妙
2.2 字符串中是否有内容
boolean isEmpty(); 原理就是判断长度是否为0
2.3 字符串是否是以指定内容开头
boolean startWith(str)
2.4 字符串是否是以指定内容结尾 判断开头,判断结尾是bool类型的
boolean endWith(str)
2.5 判断字符串的内容是否相同 复写了父类中的object方法
boolean equals(str);
2.6判断内容是否相同,并忽略大小写
boolean equalsIgnoreCsae();
3.转换
3.1 将字符数组转成字符串
构造函数 String(chae[])
String(char[],int count) 将字符数组的一部分转成字符串
静态方法 static String copyValue(char[]);
static String copyValue(char[],int count);
static String valueof(char[]);
3.2 将字符串转成字符数组
char[] toCharArray();
3.3 将字节数组转成字符串
String(byte[])
String(byte[],int count)
反 byte[] getBytes();
3.4 将字符串转成字节数组
3.5 将基本数据类型转成字符串
static String valueof(int);
static String valueof(double);
特殊:
字符串和字节数组在转换的过程中,是可以指定编码表的
4.替换
String replace(oldchar,newchar); 更换的可以是字符串
5.切割
String[] split(regex); 把该字符切割了,然后将每一部分组装成数组
6.子串,获取字符串中的一部分
String substring(begin); begin是数字 从指定位置到结尾 0 1 2 如果角标不存在,会发生角标越界异常
String substring(begin,end); 包含头,不包含尾
7.转换 去除空格 比较
7.1 将字符串转成大写或者小写
String toUppercase(); 这也是为什么java能忽略大小写的原因
String toLowercase();
7.2 将字符串两端多余的空格去除
String trim();
7.3 对两个字符串进行自然顺序的比较
int compareTo(); 开始比较,从0位置开始,以此比较,找到不同的,就相减,返回这一个值
*/
class StringMethodDemo
{
public static void method_get()
{
String str="abcdefakbf";
/*长度*/
//System.out.println(str.length()); /*如果又有字符串呢?是不是要打印n多遍?怎么办?P1*/
sop(str.length());
/*根据索引获取字符*/
sop(str.charAt(40)); /*当访问到字符串中不存在的角标时会发生字符串角标越界异常*/
sop(str.charAt(4));
/*根据字符获取索引*/
sop(str.indexof('a'));
sop(str.indexof('a',3));
sop(str.indexof('v',3)); /*如果没有找到,返回的值是-1,不会出现异常*/
/*反向索引----方法*/
sop(str.lastIndexof("a")); /*输出的角标不会变,一直从左边开始*/
}
public static void sop(Object obj) /*无论传什么值进来都能打印*/
{
System.out.println(obj);
}
public static void main(String args[])
{
/*
String s1="abc";
String s2=new String("abc");
String s3="abc";
System.out.println(s1==s2); false
System.out.println(s1==s3); true?为什么?常量池中abc以及存在,s3发现abc存在后,就不会再开辟内存空间了
*/
/*P1*/
method_get();
}
}
Java中的String类的更多相关文章
- 关于Java中的String类知识点小总结
Java中的String类知识点 前言 在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. 如何创建字符串 最简单的方式 String str = "he ...
- JAVA中的String类(详解)
Java.lang.String类是final类型的,因此不可以继承这个类.不能修改这个类.String是一个类不属于基本数据类型. 可以从源码中看到,String是一个final类型. String ...
- java中的String类常量池详解
test1: package StringTest; public class test1 { /** * @param args */ public static void main(String[ ...
- Java 中的 String 类常用方法
字符串广泛应用在Java编程中,在Java中字符串属于对象,String 类提供了许多用来处理字符串的方法,例如,获取字符串长度.对字符串进行截取.将字符串转换为大写或小写.字符串分割等. Strin ...
- 为什么Java中的String类是不可变的?
String类是Java中的一个不可变类(immutable class). 简单来说,不可变类就是实例在被创建之后不可修改. 在<Effective Java> Item 15 中提到了 ...
- Java中的String类能否被继承?为什么?
不能被继承,因为String类有final修饰符,而final修饰的类是不能被继承的. Java对String类的定义: public final class String implements ja ...
- java中的String类的不可变性的小例子
在java语言中,String类具有不可变性,即常量字符串不可更改.下面的一个小例子简单演示相关概念. public class test { public static void main(Stri ...
- Java学习笔记(一)——关于java中的String类
[前面的话] 毕业将近6个月了,试用期也快要过去了,期待接下来的日子.在金融类性质的机构,最痛苦的是也许就是大部分系统外包,所以比较少写代码,在这六个月中只写了1个月左右的代码,然后每天都在做一些比较 ...
- java中关于string类和常量池的一点猜想
public class StringTest { /** * @param args */ public static void main(String[] args) { test1 ...
随机推荐
- Idea的Git使用
在使用Git来pull和push代码的时候会发生冲突的情况,如果处理不当则会出现无法pull和push代码的情况.所以这个是十分有必要注意的. 那么我来说几句自己的总结吧: 1.先看下idea的Git ...
- HDU 3635 并查集+路径压缩+记录每个点移动次数
题意: 给定n个点 oper个操作 每个点有1个龙珠 下面2种操作: T u v 把u点所有龙珠搬到v Q u 问u点当前所在城市 u点所在城市有几个龙珠 u点被移动几次 思路: 并查集可以求出 u ...
- 一、FreeMarker 模版开发指南 第一章 入门
所有资料来自 南磊 翻译的官方文档,我弄简单了,适合自己以后拿出来翻看. 章节内容如下: 简介 模板+数据模型=输出 数据模型一览 模板一览 一.模板 + 数据模型 = 输出 输出结果: &l ...
- Swif基本语法以及与OC比较三
(未 经 博 主 同 意,不 得 转 载 !) ------------------------华丽分割线----------------------- // // main.swift ...
- Microsoft PetShop 集锦
一.pet shop 2.0 项目概述与架构分析微软刚推出了基于ASP.NET 2.0下的Pet Shop 4, 该版本有了一个全新的用户界面.是研究ASP.NET 2.0的好范例啊 PetShop ...
- MongoDB命令学习
mongodb不像关系型数据库有很强大的GUI客户端,虽然mongodb也有,但功能和稳定性实在不敢恭维,所以操作mongodb我们大部分 都是用类似cmd命令的方式(mongodb称为shell操作 ...
- NodeJs + gm图片缩略图
我的另一篇文章: Nginx/Apache图片缩略图技术 gm官网 1, 软件环境 nodejs npm GraphicsMagick or ImageMagick 貌似ImageMagick在处理大 ...
- Vim文本编辑器 指令簿(二)
常常处理文本以及常常须要写代码的人,都会有自己比較常常使用的编辑器,本人喜欢用Vim.理由就是Vim编辑器灵活,而且能够达到纯键盘操作,使用纯熟情况下,根本不须要鼠标操作.听起来是不是非常酷的?只是别 ...
- Android仿腾讯应用宝 应用市场,下载界面, 有了进展button
近期应用市场做,需要使用.下载与进度显示button,因此,要寻找其他大神做,直接用于改善.和很多无用的切出.在改进共享后. 再一次改变.当下载进度时,有进步.进度显示自己主动运行文本.并设置背景为灰 ...
- Linq的小知识(一),大家可以学习一下
linq的简介 lLINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性.已成为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检查,丰 ...