String 类:

1. 对于String对象的相等性判断来说,请使用equals()方法,而不是==。String的equals()是判断当前字符串与传进来的字符串的内容是否一致。

2. String是常量,其对象一旦创建完毕就无法改变。当使用+拼接字符串时,会生成新的String对象,而不是向原有的String对象追加内容。

3. String Pool (字符串池) 在方法区中。

4. String s = “aaa”;(采用字面值方式赋值)

1). 查找 String Pool 中是否存在“aaa”这个对象,如果不存在,则在 String Pool 中创建一个“aaa”对象,然后将String Pool中的这个“aaa”对象的地址返回来,

赋给引用变量 s, 这样 s 会指向 String Pool 中的这个“aaa”字符串对象

2). 如果存在,则不创建任何对象,直接将 String Pool 中的这个 “aaa” 对象地址返回来,赋给 s 引用。

5. String s = new String(“aaa”);

1). 首先在 String Pool 中查找有没有 “aaa” 这个字符串对象, 如果有, 则不在 String Pool中再去创建“aaa”这个对象了,直接在堆中(heap)中创建一个

“aaa”字符串对象, 然后将堆中的这个“aaa”对象的地址返回来,赋给 s 引用,导致 s 指向了堆中创建的这个“aaa”字符串对象。

2). 如果没有,则首先在 String Pool 中创建一个“aaa“对象,然后再在堆中(heap)创建一个”aaa“对象,然后将堆中的这个”aaa“对象的地址返回来,赋给 s 引用,

导致 s 指向了堆中所创建的这个”aaa“对象。

6. 处理字符串时注意编码格式,将二进制转换为字符串可以考虑构造方法:new String(byte[] bytes, String charsetName)

7. isEmpty()方法只有当字符为""的时候才返回true;当字符串为" "返回false。可以借助trim()方法。

8. valueOf()方法将char数组,各种原生数据类型转换为字符串。byte数组不可以。

9. toCharArray()方法将字符串转换为char数组

10. compareTo()方法可用于字符串之间大小比较

11. 常用的方法还有:contains ; endsWith ; equalsIgnoreCase ; getBytes ; length ; replaceAll ; split ; startsWith ; substring ; charAt;

Array 数组:

1. 定义数组几种格式:

1). type[] 变量名 = new type[数组中元素的个数];

2). type 变量名[] = new type[数组中元素的个数];

3). type 变量名[] = new type[]{逗号分隔的初始化值列表};

4). type 变量名[] = {逗号分隔的初始化值列表};

2. 数组中的元素索引是从0开始的。对于数组来说,最大的索引 == 数组的长度 - 1。

3. Java中每个数组都有一个名为length的 属性,表示数组的长度。length的属性是public,final,int的。数组一旦确定,就不能改变大小。

4. int[] a = new int[10],其中a是一个引用,它指向了生成数组对象的首地址

5. 对于原生数据类型来说,数组中存放的是数据值。而对于引用类型来说,数组中存放的是引用类型的值,不是对象本身。

6. 二维数组是一种平面的二维结构,本质上是数组的数组。二维数组的定义方式:type[][] a = new type[][]等

7. 三维数组定义方式:type[][][] a = new type[][][]

Java SE 基础知识(String,Array)的更多相关文章

  1. Java SE基础知识

    Java SE面试题 目录 Java SE基础 基本语法 数据类型 关键字 面向对象 集合 集合类概述 Collection接口 List Set Map Java SE基础 基本语法 数据类型 Ja ...

  2. Java SE 基础知识(一)

    一.基础知识 1. Java SE : Java Standard Edition Java ME : Java Micro Edition Java EE : Java Enterprise Edi ...

  3. Java SE 基础知识

    常量: 常量是一种标识符,它的值在运行期间恒定不变,并且常量在程序中只能被引用,而不能被重新赋值. 常量的命名规则: 1.在 Java 中,在变量声明中加入 final 关键字代表常量,加入 stat ...

  4. Java SE 基础知识(二)

    1. 类由两大部分构成:属性和方法.属性一般用名词来表示,方法一般用动词来表示. 2. 如果一个java源文件中定义了多个类,那么这些类中最多只能有一个类是public的,可以都不是public的. ...

  5. 什么才是java的基础知识?

    近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考. ...

  6. Java 多线程——基础知识

    java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 ...

  7. JAVA相关基础知识

    JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分, ...

  8. Java SE 基础:注释

    Java SE 基础:注释 一.注释定义 用于解释说明程序的文字. 二.注释的作用 1.解释说明程序,提高程序的可读性 2.可以帮助我们调试程序:通过注释代码块,检测错误位置 三.格式 1.单行注释 ...

  9. Java SE 基础:标识(zhì)符

    Java SE 基础:标识(zhì)符 一.标识符定义 标识符,就是给类.接口.方法.变量等起名字时的字符序列 二.组成规则与注意事项 1.组成规则 英文大小写字母 数组 $ 和 _ 2.注意事项 不 ...

随机推荐

  1. php中属性和方法的修饰符

    <?php class A{ private function do1(){ echo "do1 called"; } protected function do2(){ e ...

  2. html处理富文本内容,避免XSS工具类

    import org.apache.commons.lang3.StringEscapeUtils;import org.jsoup.Jsoup;import org.jsoup.safety.Whi ...

  3. Spring Boot 利用插件构造QueryDSL语句时报错:You need to run build with JDK or have tools.jar on the classpath.If this occur....

    You need to run build with JDK or have tools.jar on the classpath.If this occures during eclipse bui ...

  4. 关于htc m9w更新后手机无限重启的解决办法

    更新htc sense7.0后,手机无限重启.网上搜了一下,是和谷歌框架冲突的原因,但是机子本身没有root,删除不了gms.只能死马当活马医,把能看到google应用都给删了,就解决了. 步骤: 长 ...

  5. 170822、解决PLSQL记录被另一个用户锁住的问题

    1.查看数据库锁,诊断锁的来源及类型: select object_id,session_id,locked_mode from v$locked_object; 或者用以下命令: select b. ...

  6. 线段树(Segment Tree)总结

    0 写在前面 怎么说呢,其实从入坑线段树一来,经历过两个阶段,第一个阶段是初学阶段,那个时候看网上的一些教学博文和模板入门了线段树, 然后挑选了一个线段树模板作为自己的模板,经过了一点自己的修改,然后 ...

  7. 一个半径R质量m的均匀圆盘,绕其边缘且垂直的轴摆动,求摆动周期

  8. 卿学姐与公主 UESTC - 1324 分块模板题

    题意:http://acm.uestc.edu.cn/#/problem/show/1324 中文题,自己看喽. 题解:分块模板,update时顺便更新块属性.ask时先判掉belong[l]==be ...

  9. 隐马尔可夫(HMM)

    https://www.zhihu.com/question/20962240 作者:Yang Eninala链接:https://www.zhihu.com/question/20962240/an ...

  10. mybatis parameterType和resultType的顺序问题

    有一次在写java web后端的代码中发现了一个问题,那就是我将parameterType放在resultType之前的时候,发现程序启动的时候突然报错,说找不到某某map,我也不知道,所以感觉非常怪 ...