java基础学习篇---------string集合的学习

zhang11111wei      2022-04-15     412

关键词:

一、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,如果要输出这三个变量的值,也可以写三个输出语句。但是,如果要管理... 查看详情