Die Methode zur Behandlung des Datums ist wie folgt -In einer langen Typvariablen gespeichert -Verwenden Sie die Klasse java.date.util ・ Verwenden Sie die Kalenderklasse -Verwendung der SimpleDateFormat-Klasse
-Für Variablen vom Typ Long werden Datums- und Zeitinformationen durch die Anzahl der verstrichenen Millisekunden (1/1000) ausgedrückt, basierend auf 1970/1/1 00:00:00 (Epoche).
langer Variablenname = System.currentTimeMillis ();
:
System.currentTimeMilli gibt die aktuelle Zeit in ** Millisekunden zurück. ** ** **
・ Der Mensch kann die Aufzählung von Zahlenwerten wie "11223344" nicht verstehen ... -Lange Daten werden auch für andere Zwecke verwendet, sodass nicht bekannt ist, ob es sich bei den darin enthaltenen Daten um ein Datum handelt.
** Wenn es sich um eine Datumsvariable handelt, kann festgestellt werden, dass es sich bei dem Inhalt um Datums- und Uhrzeitinformationen handelt **.
Importieren
Sie die Klasse java.date.util
Datum Variablenname = neues Datum ();
Name der Datumsvariablen = neues Datum (Argument mit langem Wert);
Date now = new Date();//(1) Erstellen Sie eine Datumsinstanz und rufen Sie das aktuelle Datum und die aktuelle Uhrzeit ab.
System.out.println(now);//Ausgabeergebnis ①
long nowTime = now.getTime();//(2) Verwenden Sie die getTime-Methode der Date-Instanz, um das aktuelle Datum und die aktuelle Uhrzeit des Long-Werts abzurufen.
System.out.println(nowTime);//Ausgabeergebnis ②
Date past = new Date(nowTime);//③ Ersetzen Sie einen langen Wert, um eine neue Dateninstanz zu erstellen
System.out.println(past);//Ausgabeergebnis ③
Sat Mar 03 11:41:38 JST 2018//①
1520044898396//②
Sat Mar 03 11:41:38 JST 2018//③
Immerhin ist es schwer zu lesen, weil es einen langen Wert verwendet ...
Lange Typdaten, die in der Klasse "Datum" erhalten wurden, können in Daten vom Typ int in der Klasse "Kalender" konvertiert werden.
Importieren Sie java.util.Calendar;
Name der Kalenderinstanz = Calendar.getInstance ();
// Erstellt eine Instanz der Calendar-Klasse
Instanzname.set (Jahr, Monat, Tag, Stunde, Minute, Sekunde);
// Geben Sie beispielsweise Datums- und Zeitinformationen in int-Typ ein. * Monat wird von 0 bis 11 gesetzt! !!
Oder
Instanzname.set (Kalender. ~, Wert); //
Datumsvariablenname = c.getTime ();
// Datumstypdaten extrahieren
int year = Kalenderklassenvariable .get (Calendar.YEAR);
int month = Kalenderklassenvariable .get (Calendar.MONTH);
int day = Kalenderklassenvariable .get (Calendar.DAY_OF_MONTH);
int hour = Kalenderklassenvariable .get (Calendar.HOUR);
int minute = Kalenderklassenvariable .get (Calendar.MINUTE);
int second = Kalenderklassenvariable .get (Calendar.SECOND);
Instanzname.setTime (Datumstypargument);
public static void main(String[] args) {
//Erstellen Sie eine Instanz
Date now = new Date();//Erstellen Sie eine Now-Instanz der Date-Klasse und rufen Sie das aktuelle Datum und die aktuelle Uhrzeit ab
Calendar calendar = Calendar.getInstance();//Erstellen Sie eine Kalenderinstanz der Calendar-Klasse
//(1) Extrahieren Sie nur das Jahr als int-Typ aus der Kalenderinstanz
calendar.setTime(now);//(1) Ersetzen Sie die Kalenderinstanz durch die aktuelle Instanz (aktuelles Datum und Uhrzeit)
int year = calendar.get(Calendar.YEAR);//① Nehmen Sie nur das Jahr aus der Kalenderklasse heraus
System.out.println(year);//Ausgabeergebnis ①
//② Stellen Sie Jahr und Monat mit dem Typ int ein
calendar.set(1995,1,20,10,10,10);//(2) Legen Sie das Jahr und den Monat in der Kalenderinstanz mit dem Typ int fest
Date past = calendar.getTime();//(2) Ersetzen Sie das festgelegte Datum durch die Datumsvariable vergangen
System.out.println(past);//Ausgabeergebnis ②
}
2018//①
Mon Feb 20 10:10:10 JST 1995//②
In der Klasse "Date" erhaltene lange Typdaten können in und aus Daten des Typs "String" in der Klasse "SimpleDateFormat" konvertiert werden.
java.text.SimpleDateFormat;
Klasse importieren
SimpleDateFormat Variablenname = new SimpleDateFormat (Formatzeichenfolge);
// Eine Instanz erstellen
String Variablenname = SimpleDateFormat Instanzname.format (Datumstypvariable);
// Konvertiert den Typ von Date in String mit der Formatmethode der SimpleDateFormat-Klasse.
SimpleDateFormat Variablenname = new SimpleDateFormat (Formatzeichenfolge);
// Erstellt eine Instanz der SimpleDateFormat-Klasse
Datum Datumstyp Variablenname = SimpleDateFormat-Instanzname.parse (Zeichenfolge);
// Konvertiert den Typ von String in Date mit der Analysemethode der SimpleDateFormat-Klasse.
public static void main(String[] args) throws Exception {
//Erstellen Sie eine Instanz
Date now = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
//Datumstyp → Zeichenfolgentyp
String date = format.format(now);
//Zeichenfolgentyp → Datumstyp
Date past = format.parse("1995/01/20 10:10:10");
//Ausgabe
System.out.println(date);
System.out.println(past);
}
2018/03/03 15:59:07
Fri Jan 20 10:10:10 JST 1995
Wenn Sie beim Definieren einer Klasse die übergeordnete Klasse nicht mit "verlängern" angeben, bedeutet dies, dass die übergeordnete Klasse "java.lang.Object" erbt.
-Equals ()
: Überprüft, ob eine Instanz mit sich selbst identisch ist
-ToString ()
: Gibt den Inhalt Ihrer eigenen Zeichenfolge zurück
public static void main(String[] args) {
Object[] o = new Object[2];
o[0] = new Hero();
o[1] = "Hallo";
for(Object ox:o) {
System.out.println(ox);
}
}
Java14.Hero@70dea4e
Hallo
Aufgrund des Polymorphismus können alle Objekte grob als "Objekt" betrachtet werden, sodass Sie "Objekt" angeben können, wenn ** argument = irgendetwas **.
Modellname @ alphanumerisch
//Bei der Ausgabe einer Hero-Instanz
Java14.Hero@70dea4e
@Override
public String toString(){
return "Name ist"+this.Name ...
}
Es ist notwendig, die Ausgabemethode wie oben beschrieben zu überschreiben.
@ Override
bedeutet überschreiben.
Grob gesagt wird beurteilt, ob sie gleich sind. Ob sie gleich sind oder nicht, wird normalerweise mit "==" beurteilt, aber gleich macht ein etwas anderes "Äquivalenzurteil".
Genau der gleiche Zustand
Hero h1 = new Hero;
Hero h2 = h1;
In diesem Fall sind h1 und h2 gleich.
Der gleiche Inhalt
Hero h1 = new Hero("Yoshihiko")
Hero h2 = new Hero("Yoshihiko")
In diesem Fall sind h1 und h2 unterschiedliche Instanzen, aber sie sind äquivalent, weil sie den gleichen Inhalt haben.
Da es sich bei dem Standardwert "gleich" jedoch um ein gleichwertiges Urteil handelt, muss es in ein Äquivalenzurteil geändert und verwendet werden.
//Hauptklasse
public static void main(String[] args) {
Hero hero1 = new Hero();
hero1.name = "Yoshihiko";
hero1.hp = 100;
Hero hero2 = new Hero();
hero2.name = "Yoshihiko";
hero2.hp = 100;
if (hero1.equals(hero2) == true) {
System.out.println("Gleicher Inhalt");
} else {
System.out.println("Es ist anders");
}
}
//Heldenklasse
public class Hero {
String name;
int hp;
//Umschreiben ist gleich
@Override
public boolean equals(Object o) {
if (this == o) {//Richtig, wenn gleich
return true;
}
if (o instanceof Hero) {//Im Fall derselben Klasse oder einer Eltern-Kind-Beziehungsklasse
Hero h = (Hero) o;//Konvertieren Sie die Objektklassenvariable o in die Hero-Klassenvariable h und weisen Sie sie der Hero-Typvariablen h zu.
if (this.name.equals(h.name)) {//Äquivalent, wenn die Namen gleich sind
return true;
}
}
return false;
}
}
Gleicher Inhalt
Klassen, die Basisdatentypen wie int entsprechen
Alle Methoden werden in "statisch" beschrieben, sodass Sie die Wrapper-Klasse verwenden können, ohne sie zu instanziieren.
Da es einige APIs gibt, die nicht als Basisdatentypen behandelt werden können, instanziieren wir sie absichtlich einmal, um numerische Werte zu erhalten.
int i1 = 15;//Ersetzen Sie die Variable vom Typ int i1 durch 15
Integer i2 = Integer.valueOf(i1);//Generierung von i2-Instanzen
System.out.println(i2);
valueOf: Eine Methode, die eine Integer-Instanz zurückgibt, die den angegebenen int-Wert darstellt
15
int i1 = 15;//Ersetzen Sie die Variable vom Typ int i1 durch 15
Integer i2 = Integer.valueOf(i1);//i2-Instanzgenerierung ・ Konvertieren Sie vom Typ int in den Typ Integer
int i3 = i2.intValue();//Vom Integer-Typ in den Int-Typ konvertieren
intValue: Eine Methode, die den Wert von Integer als int zurückgibt
Dabei müssen Sie die Methode jedes Mal verwenden, um die Daten zu konvertieren ...
Wrapper-Klassentyp ⇆ Beim Konvertieren des Basisdatentyps werden valueOf
und intValue
automatisch ausgeführt.
Diese AutoBoxing / AutoUnboxing-Funktion ist standardmäßig verfügbar.
int i1 = 15;//Ersetzen Sie die Variable vom Typ int i1 durch 15
Integer i2 = i1;//Automatische Konvertierung vom Typ int in den Typ Integer
int i3 = i2;//Automatische Konvertierung vom Integer-Typ zum Int-Typ
Recommended Posts