Type de données du numéro de téléphone en Java

Mohammad Irfan 12 octobre 2023
  1. Type de données pour stocker le numéro de téléphone en Java
  2. Type de données de chaîne pour stocker le numéro de téléphone en Java
  3. Stocker le numéro de téléphone dans la classe d’entité Java
Type de données du numéro de téléphone en Java

Ce didacticiel présente quel devrait être le meilleur type de données pour stocker des numéros de téléphone en Java et comment l’utiliser également dans une entité Java.

Le numéro de téléphone est une valeur numérique et ne contient que des chiffres, donc au début, vous pourriez penser au type long dans lequel le stocker, mais le meilleur type de données pour le stocker est une chaîne car cela ruinera le formatage, supprimera les 0 précédents et d’autres choses indésirables.

Tout en travaillant avec des numéros de téléphone, nous devons d’abord comprendre le format d’entrée obtenu de l’utilisateur. Par exemple, Code de pays + indicatif régional + numéro de téléphone le format nécessite un type de chaîne, et ne prenant que le numéro de téléphone peut être stocké en type long.

Comprenons avec quelques exemples Java et Hibernate.

Type de données pour stocker le numéro de téléphone en Java

Dans cet exemple, nous avons utilisé un type long pour stocker une valeur numérique (numéro de téléphone) en Java. C’est bien si la valeur numérique est inférieure à la plage ; sinon, le compilateur renvoie une série d’erreurs. Ce n’est pas bon si le numéro de téléphone comprend des chiffres non numériques tels que +. Donc, nous devons comprendre le format d’entrée avant de prendre l’entrée de l’utilisateur. Voir l’exemple ci-dessous.

public class SimpleTesting {
  public static void main(String args[]) {
    Student student = new Student(10, "Rohan", 1245232542);
    System.out.println("id = " + student.getId());
    System.out.println("Name = " + student.getName());
    System.out.println("Phone Number =  " + student.getPhoneNumber());

    Student student2 = new Student(11, "Sohan", +1245232542);
    System.out.println("id = " + student2.getId());
    System.out.println("Name = " + student2.getName());
    System.out.println("Phone Number =  " + student2.getPhoneNumber());
  }
}
class Student {
  int id;
  String name;
  long phoneNumber;

  public Student(int id, String name, long phoneNumber) {
    super();
    this.id = id;
    this.name = name;
    this.phoneNumber = phoneNumber;
  }
  public int getId() {
    return id;
  }
  public void setId(int id) {
    this.id = id;
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public long getPhoneNumber() {
    return phoneNumber;
  }
  public void setPhoneNumber(long phoneNumber) {
    this.phoneNumber = phoneNumber;
  }
}

Production :

id = 10 Name = Rohan Phone Number = 1245232542 id = 11 Name = Sohan Phone Number = 1245232542

Type de données de chaîne pour stocker le numéro de téléphone en Java

Si nous utilisons le signe + avec le numéro de téléphone dans l’exemple ci-dessus, cela ne fonctionne pas et le compilateur Java ne le conserve pas. Il est préférable d’utiliser le type String pour contenir un numéro de téléphone en Java pour résoudre ce problème. Désormais, nous stockons les numéros de téléphone au format Code de pays + indicatif régional + numéro de téléphone. Voir l’exemple ci-dessous.

public class SimpleTesting {
  public static void main(String args[]) {
    Student student = new Student(10, "Rohan", "1245232542");
    System.out.println("id = " + student.getId());
    System.out.println("Name = " + student.getName());
    System.out.println("Phone Number =  " + student.getPhoneNumber());

    Student student2 = new Student(11, "Sohan", "+911245232542");
    System.out.println("id = " + student2.getId());
    System.out.println("Name = " + student2.getName());
    System.out.println("Phone Number =  " + student2.getPhoneNumber());
  }
}
class Student {
  int id;
  String name;
  String phoneNumber;

  public Student(int id, String name, String phoneNumber) {
    super();
    this.id = id;
    this.name = name;
    this.phoneNumber = phoneNumber;
  }
  public int getId() {
    return id;
  }
  public void setId(int id) {
    this.id = id;
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public String getPhoneNumber() {
    return phoneNumber;
  }
  public void setPhoneNumber(String phoneNumber) {
    this.phoneNumber = phoneNumber;
  }
}

Production :

id = 10 Name = Rohan Phone Number = 1245232542 id = 11 Name = Sohan Phone Number = +911245232542

Stocker le numéro de téléphone dans la classe d’entité Java

Si vous travaillez avec hibernate et avez créé une entité qui a un champ comme un numéro de téléphone, vous devez le déclarer comme une chaîne pour stocker un numéro de téléphone qui a des chiffres non numériques.

En veille prolongée, cette classe d’entité correspond à la table de la base de données MySQL ou Oracle et utilise le type varchar pour stocker le numéro de téléphone. Il s’agit d’un concept avancé, et si vous n’êtes pas familier avec l’ORM ou le concept d’hibernation, ignorez cet exemple.

package com.example.myspring;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity // This tells Hibernate to make a table
public class User {
  @Id @GeneratedValue(strategy = GenerationType.AUTO) private Integer id;
  private String name;
  private String email;
  private String phoneNumber; // phone number

  public Integer getId() {
    return id;
  }
  public void setId(Integer id) {
    this.id = id;
  }

  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }

  public String getEmail() {
    return email;
  }
  public void setEmail(String email) {
    this.email = email;
  }
  public String getPhoneNumber() {
    return phoneNumber;
  }

  public void setPhoneNumber(String phoneNumber) {
    this.phoneNumber = phoneNumber;
  }
}

Article connexe - Java Data Type