Java 中的电话号码数据类型

Mohammad Irfan 2023年10月12日
  1. 在 Java 中存储电话号码的数据类型
  2. 在 Java 中存储电话号码的字符串数据类型
  3. 在实体类 Java 中存储电话号码
Java 中的电话号码数据类型

本教程介绍了在 Java 中存储电话号码的最佳数据类型,以及如何在 Java 实体中使用它。

电话号码是一个数值并且只包含数字,所以一开始你可能会想到长型来存储它,但最好的数据类型是字符串,因为它会破坏格式,删除前面的 0,并且其他不受欢迎的事情。

在处理电话号码时,我们必须首先了解从用户那里获得的输入格式。例如,国家代码+ 区号+ 电话号码的格式需要 String 类型,只取电话号码就可以用 long 类型存储。

让我们通过一些 Java 和 Hibernate 示例来理解。

在 Java 中存储电话号码的数据类型

在此示例中,我们使用 long 类型在 Java 中存储数字(电话号码)值。数值在范围以内就好了;否则,编译器会抛出一系列错误。如果电话号码包含非数字数字(例如 +)则不好。因此,我们必须在接受用户输入之前了解输入格式。请参阅下面的示例。

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

输出:

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

在 Java 中存储电话号码的字符串数据类型

如果我们在上面的示例中使用带有电话号码的 + 符号,它不起作用,并且 Java 编译器不支持。Java 中最好使用 String 类型来保存电话号码来解决这个问题。现在,我们以国家代码+ 区号+ 电话号码格式存储电话号码。请参阅下面的示例。

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

输出:

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

在实体类 Java 中存储电话号码

如果你正在使用 hibernate 并创建了一个具有一个字段(如电话号码)的实体,你应该将其声明为一个字符串来存储具有非数字数字的电话号码。

在 hibernate 中,这个实体类映射到 MySQL 或 Oracle 数据库中的表,并使用 varchar 类型来存储电话号码。这是一个高级概念,如果你不熟悉 ORM 或 hibernate 概念,请跳过此示例。

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

相关文章 - Java Data Type