java常见的字符串操作和日期操作汇总

Java常见的字符串操作

字符串的基本操作

Java String是不可变对象,是对比较字符串最常用最简便的类,常见的字符串操作有:

  • 字符串拼接:
  • 使用+操作符进行字符串拼接,例如 "Hello" + "World",结果为 "Hello World"。
  • 使用concat()方法进行字符串拼接,例如 "Hello".concat(" ").concat("World"),结果为 "Hello World"。

  • 字符串比较:

  • 使用equals()方法比较两个字符串是否相等,例如 "Hello".equals("World"),结果为 false。
  • 使用equalsIgnoreCase()方法比较两个字符串是否相等,忽略大小写,例如 "Hello".equalsIgnoreCase("hello"),结果为 true。

  • 获取字符串的字串或字符:

  • 使用substring()方法获取字串,例如 "Hello World".substring(6),结果为 "World"。
  • 使用charAt()方法获取某个位置的字符,例如 "Hello World".charAt(6),结果为 'W'。

  • 字符串的查找和替换:

  • 使用indexOf()方法查找某个子串在字符串中的位置,例如 "Hello World".indexOf("World"),结果为 6。
  • 使用replace()方法替换所有指定的字符或字符串,例如 "Hello World".replace("World", "Java"),结果为 "Hello Java"。

正则表达式操作

正则表达式是处理文本字符串的强大工具,是匹配文本的模式。在Java中,使用java.util.regex包提供的类进行正则表达式操作。

  • 匹配某个字符串是否符合正则表达式:
  • 使用matches()方法判断字符串是否符合某个正则表达式,例如 "Hello123".matches("[a-zA-Z0-9]+"),结果为 true。

  • 查找某个字符串在字符串中的位置:

  • 使用Pattern类的compile()方法生成正则表达式对象,再使用matcher()方法生成Matcher对象,最后使用find()方法查找匹配的位置,例如
    String str = "Hello World";
    Pattern pattern = Pattern.compile("World");
    Matcher matcher = pattern.matcher(str);
    if (matcher.find()) {
    System.out.println("Found match at index " + matcher.start() + " to " + matcher.end());
    }

    输出结果为 "Found match at index 6 to 11"。

示例

字符串的拼接和比较

public class StringDemo {
    public static void main(String[] args) {
        String str1 = "Hello";
        String str2 = "World";
        String str3 = "Hello World";
        String str4 = str1 + " " + str2;
        String str5 = str1.concat(" ").concat(str2);

        System.out.println(str3.equals(str4));   // true
        System.out.println(str3.equals(str5));   // true
        System.out.println(str4.equals(str5));   // true
    }
}

输出结果为:

true
true
true

正则表达式的操作

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class RegexDemo {
    public static void main(String[] args) {
        String str = "Hello123";
        System.out.println(str.matches("[a-zA-Z0-9]+"));   // true

        Pattern pattern = Pattern.compile("World");
        Matcher matcher = pattern.matcher("Hello World");
        if (matcher.find()) {
            System.out.println("Found match at index " + matcher.start() + " to " + matcher.end());
        }
    }
}

输出结果为:

true
Found match at index 6 to 11

Java常见的日期操作

Java中提供了许多实用的日期操作类和方法,可以方便地进行日期处理。

Date类的操作

  • 获取当前时间:
  • 使用构造函数,例如 Date date = new Date()
  • 使用静态方法,例如 Date date = new Date(System.currentTimeMillis()),等价于不带参数的构造函数。

  • 获取日期的字符串表示:

  • 使用toString()方法获取"EEE MMM dd HH:mm:ss zzz yyyy"格式的字符串表示,例如 System.out.println(new Date().toString())

SimpleDataFormat类的操作

SimpleDateFormat类提供了日期和字符串之间的转换。

  • 将字符串转换为日期:
  • 使用构造函数,例如 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"),将字符串"2022-01-01"转换为日期对象,例如 Date date = sdf.parse("2022-01-01")

  • 将日期转换为字符串:

  • 使用format()方法,例如 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"),将日期对象转换为"yyyy-MM-dd"格式的字符串表示,例如 String str = sdf.format(new Date())

  • 获取当前时间戳:

  • 使用System.currentTimeMillis()方法获取当前时间的时间戳,例如 long timestamp = System.currentTimeMillis()

示例

获取当前时间和日期

public class DateDemo {
    public static void main(String[] args) {
        Date date1 = new Date();
        System.out.println(date1);

        Date date2 = new Date(System.currentTimeMillis());
        System.out.println(date2);
    }
}

输出结果为:

Wed Dec 22 20:56:17 CST 2021
Wed Dec 22 20:56:17 CST 2021

将字符串转换为日期和将日期转换为字符串

import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatDemo {
    public static void main(String[] args) throws Exception {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date = sdf.parse("2022-01-01");
        System.out.println(date);

        String str = sdf.format(new Date());
        System.out.println(str);
    }
}

输出结果为:

Sat Jan 01 00:00:00 CST 2022
2021-12-22

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java常见的字符串操作和日期操作汇总 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 从零开始让你的Spring Boot项目跑在Linux服务器

    首先我们来讲解“从零开始让你的Spring Boot项目跑在Linux服务器”的攻略。 准备工作 在将Spring Boot项目跑在Linux服务器之前,需要先确保我们已经满足以下条件: 已经有一台Linux服务器,并且可以通过SSH连接; 已经安装好Java Runtime Environment(JRE); 已经下载好我们的Spring Boot项目并打…

    Java 2023年5月19日
    00
  • java实现简单的webservice方式

    Java实现简单的Web Service方式可以通过使用两种不同的编程方式来完成:JAX-WS和Apache CXF。下面我们分别介绍这两种方式。 JAX-WS方式实现Web Service JAX-WS是Java API for XML Web Services的缩写,是Java SE 6及以上提供的一种WebService编程API。下面是一个简单的JA…

    Java 2023年5月18日
    00
  • springboot中使用ElasticSearch的详细教程

    下面是“Spring Boot 中使用 ElasticSearch 的详细教程”的攻略: 需求描述 在基于 Spring Boot 构建的应用程序中,如何使用 ElasticSearch 实现高效的搜索功能?在这个教程中,我们将详细讲解使用 Spring Boot 集成 ElasticSearch 的方法,包括从零开始配置和开发一个实际的示例应用程序。 准备…

    Java 2023年5月19日
    00
  • 元空间与永久代的区别是什么?

    以下是关于元空间与永久代的区别的完整使用攻略: 元空间与永久代的区别是什么? 元空间和久代都是Java虚拟机中用于存类信息的区域,但它们之间有以下几点区别: 1. 存储位置 永久代Java虚拟机规范中的一块内存区域,位于堆内存的一部分。而元空间则是在Java 8中入的,它不再于堆内存中,而是直接使用本地内存。 2. 内存管理 永久代的内存空是有限的,当存储的…

    Java 2023年5月12日
    00
  • Java读取数据库表(二)

    Java读取数据库表(二) application.properties db.driver.name=com.mysql.cj.jdbc.Driver db.url=jdbc:mysql://localhost:3306/easycrud?useUnicode=true&characterEncoding=utf8&serverTimezo…

    Java 2023年5月4日
    00
  • Sprint Boot @ConditionalOnExpression使用方法详解

    @ConditionalOnExpression是Spring Boot中的一个注解,它用于根据表达式的结果来决定是否启用或禁用某个组件。在使用Spring Boot开发应用程序时,@ConditionalOnExpression是非常有用的。本文将详细介绍@ConditionalOnExpression的作用和使用方法,并提供两个示例说明。 @Condit…

    Java 2023年5月5日
    00
  • 什么是线程优先级?

    以下是关于线程优先级的完整使用攻略: 什么是线程优先级? 线程优先级是指线程在竞争 CPU 资源时的优先级。线程优先级越高,就有可能获得 CPU 资源,从而更快地执行任务。线程优先级的取值范围是 1~10,其中 1 表示低先级,10 表示最高优先级。 线程优先级的设置 线程优先级的设置需要使用 Thread 类的 setPriority() 方法来实现。在 …

    Java 2023年5月12日
    00
  • JavaWeb利用邮箱帮用户找回密码

    下面我就详细讲解一下JavaWeb利用邮箱帮用户找回密码的完整攻略。 一、方案说明 JavaWeb中实现密码找回的方式有很多种,其中比较常见的一种方式就是利用邮箱来帮助用户找回密码。具体实现方式如下: 用户选择找回密码功能,并输入用户名/邮箱等信息; 服务器验证用户信息,并生成一个随机的字符串作为验证码; 服务器将该随机字符串拼接到找回密码链接中,并发送到用…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部