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. mui---调用图像裁剪android

    mui调用图像裁剪android: var IMAGE_UNSPECIFIED = "image/*"; //相册显示的文件类型 var PHOTOZOOM = 2; // 获取完 ...

  2. inline-blcok 之间的空白间隙

    前言: inline-blcok 布局时,通常情况下, inline-blocks 之间有空白,尽管通常我们是不想要的,毕竟不像padding或者margin一样好控制,如图: <div cla ...

  3. Python的Scikit-learn如何选择合适的机器学习算法?

    参考网址:http://scikit-learn.org/stable/tutorial/machine_learning_map/index.html

  4. HDU 2819 - Swap - [二分图建模+最大匹配]

    题目链接:https://cn.vjudge.net/problem/HDU-2819 Given an N*N matrix with each entry equal to 0 or 1. You ...

  5. hihocoder 1284 - 机会渺茫

    N有N_cnt个约数,M有M_cnt个约数,那么总共有N_cnt * M_cnt种对应情况. 假设其中有D_cnt个对应结果是相等的,而这D_cnt个数正好是gcd(N,M)的所有约数. 例如: N= ...

  6. Oracle 分析函数的使用(主要是rollup用法)

    分析函数是oracle 8.1.6中就引入的一个全新的概念,为我们分析数据提供了一种简单高效的处理方式.在分析函数出现以前,我们必须使用自联查询,子查询或者内联视图,甚至复杂的存储过程实现的语句,现在 ...

  7. hmm前后向算法

    跟医生就医推导过程是一样的 隐马尔科夫模型HMM(一)HMM模型 隐马尔科夫模型HMM(二)前向后向算法评估观察序列概率 隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数 隐马尔科夫模型HMM ...

  8. 网卡配置/etc/network/interfaces

    话说Debian系的网卡配置跟Redhat系很不一样,Redhat是放在/etc/sysconfig/network-scripts目录下面的一大堆文件里面,要修改?你一个一个文件来过吧.Debian ...

  9. Spring Boot打war包

    然后修改下入口: 这样程序既可以以war也可以以jar的形式run. 右键项目properties,找到项目位置,然后: 然后放到tomcat的webapps的目录下: 然后启动tomcat:star ...

  10. 【Jmeter】如何通过文件导入方式对用户名和密码进行参数化设置

    JMeter 参数化 注意:param和data body只能用一个.所有任何一个里面有内容,切换都会报错,这不是问题,jmeter是这么设计的 方法一:通过添加CSV Data Set Config ...