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)的更多相关文章
-
Java SE基础知识
Java SE面试题 目录 Java SE基础 基本语法 数据类型 关键字 面向对象 集合 集合类概述 Collection接口 List Set Map Java SE基础 基本语法 数据类型 Ja ...
-
Java SE 基础知识(一)
一.基础知识 1. Java SE : Java Standard Edition Java ME : Java Micro Edition Java EE : Java Enterprise Edi ...
-
Java SE 基础知识
常量: 常量是一种标识符,它的值在运行期间恒定不变,并且常量在程序中只能被引用,而不能被重新赋值. 常量的命名规则: 1.在 Java 中,在变量声明中加入 final 关键字代表常量,加入 stat ...
-
Java SE 基础知识(二)
1. 类由两大部分构成:属性和方法.属性一般用名词来表示,方法一般用动词来表示. 2. 如果一个java源文件中定义了多个类,那么这些类中最多只能有一个类是public的,可以都不是public的. ...
-
什么才是java的基础知识?
近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考. ...
-
Java 多线程——基础知识
java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 ...
-
JAVA相关基础知识
JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分, ...
-
Java SE 基础:注释
Java SE 基础:注释 一.注释定义 用于解释说明程序的文字. 二.注释的作用 1.解释说明程序,提高程序的可读性 2.可以帮助我们调试程序:通过注释代码块,检测错误位置 三.格式 1.单行注释 ...
-
Java SE 基础:标识(zhì)符
Java SE 基础:标识(zhì)符 一.标识符定义 标识符,就是给类.接口.方法.变量等起名字时的字符序列 二.组成规则与注意事项 1.组成规则 英文大小写字母 数组 $ 和 _ 2.注意事项 不 ...
随机推荐
-
MySQL里的found_row()与row_count()的解释及用法
MySQL中有两个函数来计算上一条语句影响了多少行,不同于SqlServer/Oracle,不要因为此方面的差异而引起功能问题 出处:mysqlpub.com MySQL中有两个函数来计算上一条语 ...
-
[转载]触发ASSERT(afxCurrentResourceHandle != NULL)错误的原因
触发ASSERT(afxCurrentResourceHandle != NULL)错误的原因 Debug Assert error afxwin1.inl line:22 翻译参考 http://w ...
-
Hashtable的使用
Hashtable mylist = new Hashtable(); mylist.Add("1", "100"); ...
-
BootStrap初始
序言 什么是Bootstrap Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的. Bootstrap是 ...
-
Android——修改Button样式,动态修改Button中的图片大小
原文地址: http://www.cnblogs.com/gzggyy/archive/2013/05/17/3083218.html http://www.xuebuyuan.com/2173740 ...
-
全网最详细Apache Kylin1.5安装(单节点)和测试案例
转:http://blog.itpub.net/30089851/viewspace-2121221/ 微视频链接: Apache Kylin初识 1.版本(当前实验版本组合,版本一定要兼容 ...
-
国内各类“壳子”浏览器,userAgent 一览
[测试环境]:测试日期:2014-6-20 我本机的chrome是36.0的,IE是10.0的.下列各浏览器大多数都是最新版,少数是半年以内的版本. 内核 chrome 版本 36.0 userAge ...
-
Java数字和字符串的相互转换(BigDecimal的使用)
String s = "100."; double d1 = "1.23"; double d = Double.parseDouble(s); s = Str ...
-
java的多线程安全,ReentrantLock与synchronized锁
前言 多线程总的来说是一个很大的模块,所以虽然之前就想写但一直感觉有地方没有理解透,在经过了一段时间学习后,终于有点感觉了,在此写下随笔. 多线程安全问题##: 首先和大家讨论一下多线程为什么会不安全 ...
-
【bzoj1475】方格取数 网络流最小割
题目描述 在一个n*n的方格里,每个格子里都有一个正整数.从中取出若干数,使得任意两个取出的数所在格子没有公共边,且取出的数的总和尽量大. 输入 第一行一个数n:(n<=30) 接下来n行每行n ...