Java 中的电话号码数据类型

Mohammad Irfan 2023年1月30日 2022年5月11日
  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