Stringbuild クラス
String クラスのオブジェクトの内容は変更できないため、結合されるたびに新しい String オブジェクトが構築されますが、これには時間がかかり、メモリ領域の無駄になります
現時点では java を使用する必要があります提供された StringBuild クラスがこの問題を解決します
StringBuilder は可変文字列とも呼ばれ、String と同様の文字列バッファであり、コンテナとみなすことができます。多くの文字列をコンテナ内に保持できます
変数とは、StringBuilder オブジェクトのコンテンツが変数であることを意味します
構築メソッド
public StringBuilder()
:空のバッファーを作成します
public StringBuilder(String srt)
: str
//public StringBuilder():创建一个空白可变字符串对象,不含有任何内容
StringBuilder sb = new StringBuilder();
System.out.println("sb:" + sb);
System.out.println("sb.length():" + sb.length());
//public StringBuilder(String str):根据字符串的内容,来创建可变字符串对象
StringBuilder sb2 = new StringBuilder("hello");
System.out.println("sb2:" + sb2);
System.out.println("sb2.length():" + sb2.length()); ログイン後にコピー
append public StringBuilder append( Object obj)
: 任意のタイプのデータをコンテナに追加し、文字列に変換します。
// 链式编程, 链式编程返回结果 看最后调用的方法
StringBuilder abc = new StringBuilder(stringBuilder.append(10).append("abc").append(10.1).append(new Object()).toString());
System.out.println("abc = " + abc); ログイン後にコピー
reverse public StringBuilding reverse()
: バッファを反転します。 data
String string = new StringBuilder(abc).reverse().toString();
System.out.println(string); ログイン後にコピー
Date クラス java.util.Date
ミリ秒単位の精度で特定の瞬間を表します
構築メソッド public Date()
: 現在の日付オブジェクト (プログラムの実行時から時刻原点までの経過ミリ秒値) が Date オブジェクトに変換され、Date オブジェクトが割り当てられ、このオブジェクトを初期化して、割り当てられた時刻 (ミリ秒単位の精度)。
public Date(long date)
: 指定されたパラメータのミリ秒値の日付を Date オブジェクトに変換し、Date オブジェクトを割り当て、このオブジェクトを初期化します
時刻の原点 : 1970 年 1 月 1 日 00:00:00 中国は東 8 地区にあります。厳密に言うと、1970 年 1 月 1 日 00:08:00 1s = 1000ms
public static void main(String[] args) {
// 创建日期对象,把当前的时间
System.out.println(new Date()); // Tue Jan 16 14:37:35 CST 2020
// 创建日期对象,把当前的毫秒值转成日期对象
System.out.println(new Date(0)); // Thu Jan 01 08:00:00 CST 1970
} ログイン後にコピー
です。
getTime long getTime()
: 日付オブジェクトのミリ秒値を取得します
// 获取从 时间原点 到 当前日期 的毫秒值
long time = nowTime.getTime();
System.out.println(time); ログイン後にコピー
setTime void setTime(long time)
: ミリ秒値を設定します
// 设置偏移毫秒值为0, 即时间原点
nowTime.setTime(0);
System.out.println(nowTime); ログイン後にコピー
java.text.DateFormat
は日付/時刻書式設定サブクラスの抽象クラスであり、このクラスを使用できます。日付とテキストの間の変換。つまり、Date オブジェクトと String オブジェクトの間で相互に変換できます。
DateFormat は抽象クラスであり、直接使用できないため、一般的に使用されるサブクラス java.text.SimpleDateFormat
が必要です。 このクラスには、書式設定または解析の標準を指定するパターン (形式) が必要です。
構築メソッド public SimpleDateFormat()
: デフォルトのモードとロケールの日付形式シンボルを使用して SimpleDateFormat を構築します。
デフォルトの形式は次のとおりです: (年)-(月)-(日) (午前/午後)xx:xx
public SimpleDateFormat(String pattern )
: 指定されたパターンとデフォルトのロケールの日付形式記号を使用して SimpleDateFormat を構築します。
パラメータ パターンは、日付と時刻のカスタム形式を表す文字列です。
一般的に使用される形式ルールは次のとおりです。
識別文字 (大文字と小文字を区別) 意味 y 年 MM 月 d 日 H 時間 m 分 # #sSeconds 注: 形式ルールの詳細については、SimpleDateFormat クラスの API ドキュメントを参照してください。
日付オブジェクトを文字列に変換します
public String format(Date date)
: 日付オブジェクトを渡し、書式設定された文字列を返します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>// 将当前日期 转换为 x年x月x日 xx:xx:xx
Date nowTime = new Date();
DateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E");
System.out.println(df.format(nowTime));</pre><div class="contentsignin">ログイン後にコピー</div></div>
文字列を日付オブジェクトに変換
public Date parse(文字列ソース)
文字列を渡して日付オブジェクトを返す<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>// 获取sDate所代表的时间的毫秒值
String sDate = "1949-10-01";
DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd");
// parse 若无法解析字符串会抛出异常 ParseException
Date date = df2.parse(sDate);
long time = date.getTime();
System.out.println(time);</pre><div class="contentsignin">ログイン後にコピー</div></div>
Calendar クラス
java.util.Calendar
Calendar カレンダー クラス。多くの Date メソッドを置き換えます。
これは抽象クラスですが、オブジェクトを作成するための静的メソッドを提供し、多くの静的属性も提供します
月 0 ~ 11 は 1 月~12 月を表します
海外では週の最初の日は日曜日です
getInstance パブリック静的カレンダーgetInstance()
: デフォルトのタイムゾーンとロケールを使用してカレンダーを取得します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>Calendar c = Calendar.getInstance();
System.out.println(c);</pre><div class="contentsignin">ログイン後にコピー</div></div>
静的属性とそれに対応するフィールド
指定されたカレンダー フィールドを表す、 クラス名.プロパティ名
を使用して呼び出します:
フィールド値意味 YEAR年 MONTH Month (0 から始まり、1 としても使用可能) DAY_OF_MONTH月の日 (数字) HOUR時間 (12 時間形式) HOUR_OF_DAY 時間 (24 時間形式) MINUTE分 SECOND秒 #DAY_OF_WEEKWeek Day in (曜日、日曜日は 1、-1 を使用できます) get int get(int field)
: 返回给定日历字段的值
int year = c.get(Calendar.YEAR);
// 0-11表示月份 需要+1
int month = c.get(Calendar.MONTH) + 1;
// DATE 和 DAY_OF_MONTH 的值是一样的
int day = c.get(Calendar.DAY_OF_MONTH);
System.out.println(year+"年"+month+"月"+day+"日"); ログイン後にコピー
getTimeZone TimeZone getTimeZone()
获取时区
TimeZone timeZone = c.getTimeZone();
System.out.println(timeZone); ログイン後にコピー
add void add(int field, int amount)
: 根据日历规则 为给定的字段添加或减去指定的时间量
// 将日历设置为2000.5.1, 当前时间为2023.4.5
// add方法设置偏移量
c.add(Calendar.YEAR, -23);
c.add(Calendar.MONTH, 1);
c.add(Calendar.DATE, -4);
System.out.println(c.get(Calendar.YEAR)+"."+(c.get(Calendar.MONTH) + 1)+"."+c.get(Calendar.DAY_OF_MONTH)); ログイン後にコピー
set void set(int field, int value)
: 将给定的日历字段设置为给定值
void set(int year, int month, int date)
直接设置年月日为指定值
// set(int field, int value)方法 将日历设置为2001.4.2
c.set(Calendar.YEAR, 2001);
c.set(Calendar.MONTH, 3);
c.set(Calendar.DAY_OF_MONTH, 2);
System.out.println(c.get(Calendar.YEAR)+"."+(c.get(Calendar.MONTH) + 1)+"."+c.get(Calendar.DAY_OF_MONTH));
// set(int year, int month, int date)方法 将日历设置为2003.10.1
c.set(2003, 9, 1);
System.out.println(c.get(Calendar.YEAR)+"."+(c.get(Calendar.MONTH) + 1)+"."+c.get(Calendar.DAY_OF_MONTH)); ログイン後にコピー
getTime Date getTime()
: 将日历对象转为日期对象
Date date = c.getTime();
System.out.println(date); ログイン後にコピー
练习 定义一个方法, 使用StringBuild将数组转换为 [元素1,元素2...] 的格式 public class Demo {
public static void main(String[] args) {
int[] arr = {3,765,8234,1,23};
System.out.println(arrayConcatToSting(arr));
}
public static String arrayConcatToSting(int[] arr) {
StringBuilder stringBuilder1 = new StringBuilder("[");
for (int i = 0; i < arr.length; i++) {
stringBuilder1.append(arr[i]);
if (i < arr.length - 1) {
stringBuilder1.append(", ");
} else if (i == arr.length - 1){
stringBuilder1.append("]");
}
}
return stringBuilder1.toString();
}
} ログイン後にコピー
计算一个人活了多少天 import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Demo {
public static void main(String[] args) throws ParseException {
Scanner sc = new Scanner(System.in);
System.out.print("请输入您的生日(年.月.日): ");
System.out.println("您活了"+howLongHaveYouLived(sc.nextLine())+"天");
}
public static long howLongHaveYouLived (String str) throws ParseException {
DateFormat df = new SimpleDateFormat("yyyy.MM.dd");
Date birthDay = df.parse(str);
long birthDayTime = birthDay.getTime();
long nowTime = new Date().getTime();
return (nowTime - birthDayTime) / 1000 / 60 / 60 /24;
}
} ログイン後にコピー
计算指定年份的2月有多少天 import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
// 计算指定年份的2月有多少天
Scanner sc = new Scanner(System.in);
System.out.print("请输入您要指定的年份: ");
int inputYear = sc.nextInt();
System.out.println(inputYear+"年的2月有"+getDay(inputYear)+"天");
}
public static int getDay(int year) {
Calendar calendar = Calendar.getInstance();
calendar.set(year, 2, 1);
calendar.add(Calendar.DATE, -1);
return calendar.get(Calendar.DATE);
}
} ログイン後にコピー
以上がJava で Stringbuild、Date、Calendar クラスを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Javaの平方根
Aug 30, 2024 pm 04:26 PM
Java の平方根のガイド。ここでは、Java で平方根がどのように機能するかを、例とそのコード実装をそれぞれ示して説明します。
Javaの完全数
Aug 30, 2024 pm 04:28 PM
Java における完全数のガイド。ここでは、定義、Java で完全数を確認する方法、コード実装の例について説明します。
Java の乱数ジェネレーター
Aug 30, 2024 pm 04:27 PM
Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。
ジャワのウェカ
Aug 30, 2024 pm 04:28 PM
Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。
Javaのスミス番号
Aug 30, 2024 pm 04:28 PM
Java のスミス番号のガイド。ここでは定義、Java でスミス番号を確認する方法について説明します。コード実装の例。
Java Springのインタビューの質問
Aug 30, 2024 pm 04:29 PM
この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。
Java 8 Stream Foreachから休憩または戻ってきますか?
Feb 07, 2025 pm 12:09 PM
Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。
従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。
さらに読み取り:JavaストリームAPIの改善
ストリームを理解してください
Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです
Java での日付までのタイムスタンプ
Aug 30, 2024 pm 04:28 PM
Java での日付までのタイムスタンプに関するガイド。ここでは、Java でタイムスタンプを日付に変換する方法とその概要について、例とともに説明します。
See all articles