Java 中的電話號碼資料型別
Mohammad Irfan
2023年10月12日
本教程介紹了在 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;
}
}