关键词:
一、String常用的方法:
1. == 实质比较两个对象的地址数值
String a = "hello" (hello为匿名对象)
String a1 = "hello"
String b = new String("hello")
String b1 = new String("hello").intern
String c = b;
a == b ----------> false false的原因:new会为b新开辟一块内存,所以比较时候两个地址不同(String里面含有intern方法)
可以手动向字符串池中添加,运行结果就是ture)
a == a1 --------> ture ture的原因:第一次字符串常量会放入“字符串池”中,下次再次申请时候,会指向同一块的内存
如果不存在的话,会自动加入内存池中
b == c --------->true
注意:开发时候大部分使用String a1 = "hello"此类方法,避免new String对象会开辟新的内存,造成内存的的浪费。
即使new出新的对象,使用intern()方法也会把字符串加入字符串池中
2.equals : 字符串比较里面的内容
b.equals(a)
hello.equals(a)
如果String b = null 时候,系统会抛出nullPointExction(空指针异常),开发时候大部分都使用hello.equals(a)此类方法,
原因:就是可以避免出现字符串为空时候抛出的异常
3.开发过程中尽量不要大规模使用String + "hello" + "world"............ , 因为这样也会造成内存的浪费
4.String常用的函数名
(1). char charAt(int index) : 查找制定索引的字,第几个位置是什么字母就输出什么字母
(2). boolean equals(String s) : 比较两个字符的内容是否相同
(3). boolean equalsIgnoreCase(String s) : 比较两个字符串是否相同,忽略大小写
(4). int compareTo(String s) : 比较两个字符串的大小关系
(5). boolean contains(String s) : 查找字符串是否存在
(6). int indexOf(String s) : 从起始位置开始查找字符串,存在返回索引数值,不存在返回-1
(7). int indexOf(String s , int fromIndex ) : 从fromIndex位置开始查找,存在返回索引数值,不存在返回-1
(8). boolean startWith(String s) : 判断是否以指定字符串作为起始位置
(9). boolean startWith(String s , int fromIndex) : 判断是否已指定字符串从fromIndex位置作为起始位置
(10). endWith(String s) : 判断是否已指定字符作为结束位置
(11). String replaceAll(String s , String replace) : 把字符串s全部替换成replace字符串
(12). String replaceFrist(String s , String replace) : 字符串replace只替换第一个s字符串,其余的s字符串的都不用替换
(13). String[] split(String s) : 把字符串s全部拆分成字符串数组 String data[] = String.split(" ") : 这个是按空格来拆分的
(14). String split(String s , int limit) : 将字符串s部分拆分成字符串数组个数limit的长度
(15). String substring(int beginIndex) : 从beginIndex位置截取到字符串结尾
(16). String substring(int beginIndex , int endIndex) : 从beginIndex位置截取到字符串endIndex结束
(17). String intern() : 把字符串对象加入字符串池中
(18). boolean isEmpty() : 判断字符串是否为空
(19). int length() : 获得字符串的长度
(20). String trim() : 去掉字符串的左右空格
(21). String concat(String s) : 字符串连接
(22). String toUpperCase() : 将字符串小字母转化成大写字母
(23). String toLowerCase() : 将字符串大写字母转成小写字母
5.字符串转为基本数据
public static int parseInt(String s)
public static double parseInt(String s)
public static boolean parseInt(String s)
6.基本数据类型转换成字符串
public static String valueOf(int 、double、boolean)
二、集合学习
java学习日记基础篇——抽象类接口final
抽象类为什么要有抽象类? 因为父类方法有不确定性,我们在Animal中定义了一个方法,但是它会被子类的方法覆盖掉,我们就不知道这个方法原本是做什么的1publicclasstest12{3publicstaticvoidmain(String[]args){4}5}67classAnimal8{9Stringname;1... 查看详情
尚硅谷--java--基础篇(717集)
Java基础篇算是整体捋一遍了,配合JavaGuider-Java篇查漏补缺,后面开始补框架、项目之类的了视频地址:https://www.bilibili.com/video/BV1Kb411W75N?p=717代码提交地址:https://gitee.com/empirefree/SpringBoot-summarize/tree/尚硅谷-java篇/目录 查看详情
spark深入学习05rdd编程之旅基础篇-01
----------------本节内容1.RDD的工作流程2.WordCount解说 ·shell版本WordCount ·java版本WordCount---------------- 一、RDD工作流程 1.RDD是spark特有的数据模型,谈到RDD就会提到什么弹性分布式数据集,什么有向无环图... 查看详情
java基础篇—string和stringbuffer
区别:(1)String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,StringBuffer类对象为可修改对象,可以通过append()方法来修改值(2)String类对象的性能远不如StringBuffer类。Strin... 查看详情
java基础学习篇01
...学校培训的时候那样子还愿意花时间去研究新技术,连最基础不常用的都快忘记了。 所以开始重新从最基础的开始回顾一遍,写一些博客来记录自己的学习过程。 java基础语法 1.输出错误与调试信息 System... 查看详情
java基础学习篇---------this的学习
1.使用this调用构造方法市一定放在构造方法的首行2.使用this调用构造方法时一定流出调用的出口publicclassMyClass{publicMyClass(){System.out.printf("调用无参数的构造方法");}publicMyClass(Stringname){this();System.out.printf("调用一个参数的构造方法"... 查看详情
面试篇一:java基础
String、StringBuffer、StringBuilderString类是用的 finalchar[] 保存的字符串,故String对象是不可变的,用+拼接字符串,就是生成的一个新的String对象。 Strings1="abc"; 是放在字符串常量池中,如再创建一个Strings2="abc";s1和s2都... 查看详情
java基础篇(02):特殊的string类,和相关扩展api
本文源码:GitHub·点这里||GitEE·点这里一、String类简介1、基础简介字符串是一个特殊的数据类型,属于引用类型。String类在Java中使用关键字final修饰,所以这个类是不可以继承扩展和修改它的方法。String类用处极广泛,在对String... 查看详情
java基础篇(02):特殊的string类,和相关扩展api
本文源码:GitHub·点这里||GitEE·点这里一、String类简介1、基础简介字符串是一个特殊的数据类型,属于引用类型。String类在Java中使用关键字final修饰,所以这个类是不可以继承扩展和修改它的方法。String类用处极广泛,在对String... 查看详情
java基础学习篇---------封装
一、Java中的内部类 1.Java中成员内部类 (1).内部类的方法可以直接访问外部类的类中的数据,而不受访问控制符的影响,如直接访问Outer类中的私有属性 (2)定义了成员内部类后,必须使用外部类对象来创建内部类对象... 查看详情
java基础学习——19string类
之前的Java基础系列中讨论了Java最核心的概念,特别是面向对象的基础。在Java进阶中,我将对Java基础进行补充,并转向应用层面。 大部分编程语言都能够处理字符串(String)。字符串是有序的字符集合,比如"HelloWorld!"。在Java... 查看详情
java基础学习----string
关于String类经常出现的面试题:问题1:Strings1=“abc”;Strings2=“abc”;System.out.println(s1==s2);结果:true问题2:Strings1=newString(“abc”);Strings2=newString(“abc”);System.out 查看详情
python学习基础篇
...写网页Python,java:可以写网页,也可以写后台三:Python基础python种类:jpythonjavascriptpy 查看详情
java入门基础课程
...结的,忽略了很多小白们的感受,而很多朋友都需要更加基础,更加详细的学习路线。所以,今天我们重新开一个新的专题,分别按照四篇文章讲述Java的学习路线(分别是入门篇,初级篇,中级篇,高级篇) 查看详情
学习大数据:java基础篇之多态
...用问题,多态解决了程序的扩展问题,今天我们就来剖析java基础核心机制之多态,了解什么是多态,以及多态的类别以及构成动态多态的条件.要理解多态,不妨我们来举一个例子,比如我们家养了一只宠物,它的名字叫毛毛,根据这段信... 查看详情
学习大数据:java基础篇之多态
...用问题,多态解决了程序的扩展问题,今天我们就来剖析java基础核心机制之多态,了解什么是多态,以及多态的类别以及构成动态多态的条件.要理解多态,不妨我们来举一个例子,比如我们家养了一只宠物,它的名字叫毛毛,根据这段信... 查看详情
学习大数据:java基础篇之反射
反射使用反射获取程序运行时的对象和类的真实信息。获取Class对象每个类被加载之后,系统会为该类生成一个对应的Class对象,通过该Class对象可以访问到JVM中的这个类。使用Class类的forName(StringclazzName)静态方法。字符串参数的... 查看详情
学习大数据:java基础篇之数组
Java基础——数组数组是一个语言中的基本要素,它能够用来保存和管理多个变量。例如,如果要统计三个学生的成绩,可以手动的定义三个变量a、b、c,如果要输出这三个变量的值,也可以写三个输出语句。但是,如果要管理... 查看详情