La méthode de gestion de la date est la suivante -Stocké dans une variable de type long -Utiliser la classe java.date.util ・ Utiliser la classe Calendrier -Utilisation de la classe SimpleDateFormat
-Les variables de type long expriment les informations de date et d'heure par le nombre de millisecondes écoulées (1/1000) basé sur 1970/1/1 00:00:00 (époque). -Les variables de type long sont faciles à comprendre pour les ordinateurs car elles sont une liste de valeurs numériques telles que 11223344.
long nom de la variable = System.currentTimeMillis ();
:
System.currentTimeMilli renvoie l'heure actuelle exprimée en ** millisecondes. ** **
・ L'homme ne peut pas comprendre l'énumération de valeurs numériques telles que "11223344" ... -Les données de type long sont également utilisées à d'autres fins, il est donc inconnu si les données qu'elles contiennent sont une date.
** S'il s'agit d'une variable de type Date, il peut être déterminé que le contenu est une information de date et d'heure **.
ʻImport` la classe java.date.util
Nom de la variable de date = nouvelle date ();
Nom de la variable de date = nouvelle date (argument de valeur longue);
Date now = new Date();//(1) Créez une instance de date et obtenez la date et l'heure actuelles.
System.out.println(now);//Résultat de sortie ①
long nowTime = now.getTime();//(2) Utilisez la méthode getTime de l'instance Date pour obtenir la date et l'heure actuelles de la valeur longue.
System.out.println(nowTime);//Résultat de sortie ②
Date past = new Date(nowTime);//③ Remplacez une valeur longue pour créer une nouvelle instance de données
System.out.println(past);//Résultat de sortie ③
Sat Mar 03 11:41:38 JST 2018//①
1520044898396//②
Sat Mar 03 11:41:38 JST 2018//③
Après tout, il est difficile à lire car il utilise une valeur longue ...
Les données de type long obtenues dans la classe Date
peuvent être converties en données de type int dans la classe Calender
.
Importez java.util.Calendar;
Calendar instance name = Calendar.getInstance ();
// Crée une instance de la classe Calendar
ʻInstance name.set (année, mois, jour, heure, minute, seconde); // Entrez les informations de date et d'heure de type int par exemple * Le mois est réglé de 0 à 11! !! Ou ʻInstance name.set (Calendar. ~, Value); //
Date variable name = c.getTime ();
// Extraire les données de type Date
ʻInt year = Variable de classe de calendrier .get (Calendar.YEAR); ʻInt month = Variable de classe de calendrier .get (Calendar.MONTH);
ʻInt day = Variable de classe de calendrier .get (Calendar.DAY_OF_MONTH); ʻInt hour = Variable de classe de calendrier .get (Calendar.HOUR);
ʻInt minute = Variable de classe de calendrier .get (Calendar.MINUTE); ʻInt second = Variable de classe de calendrier .get (Calendar.SECOND);
ʻInstance name.setTime (argument de type date); `
public static void main(String[] args) {
//Créer une instance
Date now = new Date();//Créez une instance now de la classe Date et obtenez la date et l'heure actuelles
Calendar calendar = Calendar.getInstance();//Créer une instance de calendrier de la classe Calendar
//(1) Extraire uniquement l'année en tant que type int de l'instance de calendrier
calendar.setTime(now);//(1) Remplacez l'instance now (date et heure actuelles) par l'instance de calendrier
int year = calendar.get(Calendar.YEAR);//① Ne retirez que l'année de la classe de calendrier
System.out.println(year);//Résultat de sortie ①
//② Réglez la date avec le type int
calendar.set(1995,1,20,10,10,10);//(2) Définissez l'année et le mois dans l'instance de calendrier avec le type int
Date past = calendar.getTime();//(2) Remplacez la date définie dans la variable de type Date passée
System.out.println(past);//Résultat de sortie ②
}
2018//①
Mon Feb 20 10:10:10 JST 1995//②
Les données de type long obtenues dans la classe Date
peuvent être converties vers et à partir de données de type String dans la classe SimpleDateFormat
.
java.text.SimpleDateFormat;
Classe d'importation
SimpleDateFormat Variable name = new SimpleDateFormat (format string);
// Créer une instance
String variable name = SimpleDateFormat instance name.format (Date type variable);
// Convertit le type de Date en String avec la méthode de format de la classe SimpleDateFormat.
SimpleDateFormat variable name = new SimpleDateFormat (format string);
// Crée une instance de la classe SimpleDateFormat
Date Date type variable name = SimpleDateFormat instance name.parse (chaîne de caractères);
// Convertit le type de String en Date avec la méthode d'analyse de la classe SimpleDateFormat.
public static void main(String[] args) throws Exception {
//Créer une instance
Date now = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
//Type de date → Type de chaîne
String date = format.format(now);
//Type de chaîne → Type de date
Date past = format.parse("1995/01/20 10:10:10");
//production
System.out.println(date);
System.out.println(past);
}
2018/03/03 15:59:07
Fri Jan 20 10:10:10 JST 1995
Lors de la définition d'une classe, si vous ne spécifiez pas la classe parente avec ʻextend, cela signifie que la classe parente hérite de
java.lang.Object`.
· ʻEquals () : Découvrez si une instance est la même qu'elle-même -
ToString () `: renvoie le contenu de votre propre chaîne
public static void main(String[] args) {
Object[] o = new Object[2];
o[0] = new Hero();
o[1] = "Bonjour";
for(Object ox:o) {
System.out.println(ox);
}
}
Java14.Hero@70dea4e
Bonjour
En raison du polymorphisme, tous les objets peuvent être considérés grosso modo comme ʻObject, donc ʻObject
peut être spécifié quand ** argument = n'importe quoi **.
Nom du modèle @ alphanumérique
//Lors de la sortie d'une instance Hero
Java14.Hero@70dea4e
@Override
public String toString(){
return "Nom est"+this.Nom ...
}
Il est nécessaire de ** remplacer ** la méthode de sortie comme décrit ci-dessus. «@ Override» signifie remplacer.
En gros, on juge si elles sont identiques. Le fait qu'ils soient identiques ou non est généralement jugé par ==
, mais equals fait un "jugement d'équivalence" légèrement différent.
Exactement le même état
Hero h1 = new Hero;
Hero h2 = h1;
Dans ce cas, h1 et h2 sont égaux.
Le même contenu
Hero h1 = new Hero("Yoshihiko")
Hero h2 = new Hero("Yoshihiko")
Dans ce cas, h1 et h2 sont des instances différentes, mais elles sont équivalentes car elles ont le même contenu.
Cependant, comme la valeur par défaut «égale» est un jugement de valeur égale, il est nécessaire de le modifier en un jugement d'équivalence et de l'utiliser.
//classe principale
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("Même contenu");
} else {
System.out.println("C'est différent");
}
}
//Classe de héros
public class Hero {
String name;
int hp;
//Réécriture égale
@Override
public boolean equals(Object o) {
if (this == o) {//Vrai si égal
return true;
}
if (o instanceof Hero) {//Dans le cas de la même classe ou d'une classe de relation parent-enfant
Hero h = (Hero) o;//Convertissez la variable de classe Object o en variable de classe Hero h et affectez-la à la variable de type Hero h.
if (this.name.equals(h.name)) {//Équivalent si les noms sont égaux
return true;
}
}
return false;
}
}
Même contenu
Classes correspondant aux types de données de base tels que int
Toutes les méthodes sont décrites dans static
, vous pouvez donc utiliser la classe wrapper sans l'instancier.
Comme certaines API ne peuvent pas être gérées car elles sont des types de données de base, nous les instancions délibérément une fois pour avoir des valeurs numériques.
int i1 = 15;//Remplacez 15 pour la variable de type int i1
Integer i2 = Integer.valueOf(i1);//génération d'instance i2
System.out.println(i2);
valueOf: une méthode qui retourne une instance Integer représentant la valeur int spécifiée
15
int i1 = 15;//Remplacez 15 pour la variable de type int i1
Integer i2 = Integer.valueOf(i1);//Génération d'instance i2 ・ Conversion du type int au type Integer
int i3 = i2.intValue();//Convertir du type entier au type int
intValue: une méthode qui renvoie la valeur de Integer comme int
Avec cela, vous devez utiliser la méthode à chaque fois pour convertir les données ...
Type de classe wrapper ⇆ Lors de la conversion du type de données de base, valueOf
et ʻintValue` sont automatiquement exécutés.
Cette fonction AutoBoxing / AutoUnboxing est fournie par défaut.
int i1 = 15;//Remplacez 15 pour la variable de type int i1
Integer i2 = i1;//Conversion automatique du type int au type Integer
int i3 = i2;//Conversion automatique du type Integer au type int
Recommended Posts