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