Java字符串

字符串类型是用双引号括起来的,而char类型是用单引号。这点和C是一样的。 char c = 'a'; String str = "abc"; PHP程序员在学习java的时候一个常见错误就是用单引号将字符串括起来。 String str = "hello java"; 其实上述的代码与下列代码是一样的: String str = new…

字符串常用方法

compareTo public int compareTo(String anotherString) 按字典顺序比较两个字符串。 比较基于字符串中每个字符的Unicode值。 此String对象表示的字符序列按字典顺序与参数字符串表示的字符序列进行比较。 如果此String对象按字典顺序排在参数字符串之前,则结果为负整数。 如果此String对象按字典顺序跟随参数字符串,则结果为正整数。 如果…

字符串不可变性

String类中没有提供修改字符串中某个字符的方法。这点和php也不一样,php可以非常方便的修改字符串的任意位置的字符 $str = 'php'; $str[0] = 'P'; 在Java中只能重新创建一个字符串 String str = "java"; str = "J" + str.substring(1); /…

字符串相等比较

字符串创建的方式有两大类,一种是使用字面量方式,一种是使用new方式。它们之间有些区别。 String str = "hello"; // 本质上this.value = new char[0]; String s1 = new String(); //this.value = original.value; String s2 = new String(String orig…

StringBuffer、StringBuilder、StringJoiner

String/StringBuffer/StringBuilder的区别 String:不可变的字符序列 StringBuffer:可变的字符序列,线程安全,效率低 StringBuilder:可变的字符序列,线程不安全,效率高 它们的共同点是底层都是用char[]存储的。 StringBuilder常用方法 StringBuffer与StringBuilder用法几乎完全一致,区别就在于一个线程…

JDK8 之前日期时间API

首先我们需要知道时区的概念,同一时刻不同时区他们的表上的时间是不一样的。所以,我们在存取时间的时候,尽量存时间戳而不是时间字符串。特别是国际化的项目,一定是存时间戳(Epoch Time),而不能是时间字符串。 在java中,用长整型来存放时间戳(毫秒数); 标准库API 我们再来看一下Java标准库提供的API。Java标准库有两套处理日期和时间的API: 一套定义在java.util这个包里面…

JDK8 中新日期时间API

从Java 8开始,java.time包提供了新的日期和时间API,主要涉及的类型有: 本地日期和时间:LocalDateTime,LocalDate,LocalTime; 带时区的日期和时间:ZonedDateTime; 时刻:Instant; 时区:ZoneId,ZoneOffset; 时间间隔:Duration。 以及一套新的用于取代SimpleDateFormat的格式化类型DateTim…

关于时间日期的几个练习

从Java 8开始,java.time包提供了新的日期和时间API,主要涉及的类型有三个重要的处理时间日期的类: LocalDateTime 通过日期时间来创建 DateTimeFormatter 日期时间格式化工具 Instant:通过时间戳来创建 下面来通过几个例子来看看这几个类的用法: 日期时间戳互相转换 首先看给定一个日期,获取时间戳的操作。 import java.time.*; imp…