Tipo de datos de número de teléfono en Java

Mohammad Irfan 12 octubre 2023
  1. Tipo de datos para almacenar el número de teléfono en Java
  2. Tipo de datos de cadena para almacenar el número de teléfono en Java
  3. Almacenar el número de teléfono en la clase de entidad Java
Tipo de datos de número de teléfono en Java

Este tutorial presenta cuál debería ser el mejor tipo de datos para almacenar números de teléfono en Java y cómo usarlo también en la entidad Java.

El número de teléfono es un valor numérico y contiene solo dígitos, por lo que al principio puede pensar en el tipo largo para almacenarlo, pero el mejor tipo de datos para almacenarlo es una cadena porque arruinará el formato, eliminará los ceros anteriores y otras cosas indeseables.

Al trabajar con números de teléfono, primero debemos comprender el formato de entrada que recibe el usuario. Por ejemplo, Código de país + Código de área + Número de teléfono, el formato requiere un tipo de cadena, y tomando solo el número de teléfono se puede almacenar en tipo largo.

Entendamos con algunos ejemplos de Java e Hibernate.

Tipo de datos para almacenar el número de teléfono en Java

En este ejemplo, usamos el tipo largo para almacenar un valor numérico (número de teléfono) en Java. Es bueno si el valor numérico está por debajo del rango; de lo contrario, el compilador arroja una serie de errores. No es bueno si el número de teléfono incluye dígitos no numéricos como +. Por lo tanto, debemos comprender el formato de entrada antes de tomar la entrada del usuario. Vea el ejemplo a continuación.

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;
  }
}

Producción :

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

Tipo de datos de cadena para almacenar el número de teléfono en Java

Si usamos el signo + con el número de teléfono en el ejemplo anterior, no funciona y el compilador de Java no lo mantiene. Es mejor usar el tipo de cadena para mantener un número de teléfono en Java para resolver este problema. Ahora, almacenamos números de teléfono con el formato Código de país + Código de área + Número de teléfono. Vea el ejemplo a continuación.

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;
  }
}

Producción :

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

Almacenar el número de teléfono en la clase de entidad Java

Si está trabajando con hibernación y creó una entidad que tiene un campo como un número de teléfono, debe declararlo como una cadena para almacenar un número de teléfono que tiene dígitos no numéricos.

En hibernación, esta clase de entidad se asigna a la tabla en la base de datos MySQL u Oracle y usa el tipo varchar para almacenar el número de teléfono. Este es un concepto avanzado, y si no está familiarizado con ORM o el concepto de hibernación, omita este ejemplo.

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;
  }
}

Artículo relacionado - Java Data Type