Chuyển đổi giữa các kiểu dữ liệu trong Java

Khi thực thi chương trình đôi khi chúng ta cần chuyển đổi qua lại giữa các kiểu dữ liệu với nhau. Trong bài này tôi sẽ hướng dẫn các bạn một vài cách thông dụng để chuyển đổi qua lại giữa các kiểu dữ liệu.

1. Đổi chuỗi thành số

1.1. Sử dụng parseType()

Cú pháp:

type num = Type.parseType(string_value);


Ví dụ:

String str = "123";

int num1 = Integer.parseInt(str);

long num2 = Long.parseLong(str);

float num3 = Float.parseFloat(str);



1.2. Sử dụng valueOf()

Cú pháp:

Type num = Type.valueOf(string_value);


Ví dụ:

String str = "123";

Integer num1 = Integer.valueOf(str);

Long num2 = Long.valueOf(str);

Float num3 = Float.valueOf(str);


Lưu ý: Khi convert nếu string_value không phải là số thì chương trình sẽ ném ra một ngoại lệ NumberFormatException.

2. Đổi số thành chuỗi

Có nhiều cách để đổi chuỗi thành số, dưới đây là một số cách đơn giản và thường được sử dụng:

2.1. Cộng chuỗi rỗng với số

Cú pháp:

String str = "" + number_value;


Ví dụ:

int x = 10;

float y = 3.14;

String str1 = "" + x;

String str2 = "" + y;



2.2. Sử dụng String.valueOf()

Cú pháp:

String str = String.valueOf(number_value);


number_value là một kiểu dữ liệu số bất kỳ, ví dụ: boolean, char, int, float, long, double, Boolean, Char, Integer, Float, …

Ví dụ:

int x = 10;

float y = 3.14;

String str1 = String.valueOf(x);

String str2 = String.valueOf(y);


2.3. Sử dụng toString()

Cú pháp:

String str = Type.toString(type_value);


Ví dụ:

int x = 10; 
float y = 3.14; 
String str1 = Integer.toString(x); 
String str2 = Float.toString(y); 


Nhận xét

Tùy theo nhu cầu mà có thể sử dụng trong các cách trên để chuyển đổi dữ liệu số sang chữ. Dưới đây là một số lưu ý khi sử dụng:

  • Cộng chuỗi rỗng với số: đây là cách đơn giản nhất. Tuy nhiên, nếu giá trị số là null thì sẽ gặp lỗi NullPointerException.
  • Sử dụng hàm String.valueOf(): đây là cách cũng thường được sử dụng. Sử dụng cách này có thể tránh lỗi NullPointerException. Nếu giá trị số là null thì giá trị trả về của hàm này sẽ là chuỗi null.
  • Sử dụng hàm toString(): cách này yêu cầu kiểu của tham số và đối tượng sử dụng phải cùng kiểu. Cách này cũng sẽ gặp lỗi NullPointerException nếu giá trị số là null.

3. Đổi chuỗi thành mảng các byte

Cú pháp:

Ví dụ:

byte[] b = string_value.getBytes();

String str = "Welcome to gpcoder.com";
byte[] b = str.getBytes();


4. Đổi mảng các byte thành chuỗi

Cú pháp:

String str = new String(mang_byte);


Ví dụ:

byte[] b = {
    'g', 'p', 'c', 'o', 'd', 'e', 'r'
};
String str1 = new String(b);


Lời kết

Trên đây là những cách chuyển đổi dữ liệu cơ bản trong Java. Hy vọng giúp ích được cho các bạn. Bài viết tiếp theo tôi sẽ giới thiệu cơ bản về Kiểu dữ liệu Ngày Giờ (Date Time) trong java.

Cảm ơn các bạn đã quan tâm và theo dõi bài viết. Hẹn gặp lại các bạn ở bài viết tiếp theo.

Related posts:

Function trong Java 8
Hướng dẫn Java Design Pattern – Abstract Factory
Giới thiệu HATEOAS
Java Program to Check Cycle in a Graph using Topological Sort
Java Program to Give an Implementation of the Traditional Chinese Postman Problem
A Guide to Spring Cloud Netflix – Hystrix
Map Interface trong java
A Guide to LinkedHashMap in Java
Java Program to Implement Repeated Squaring Algorithm
Java Program to Implement the Program Used in grep/egrep/fgrep
Runnable vs. Callable in Java
Introduction to the Functional Web Framework in Spring 5
Remove All Occurrences of a Specific Value from a List
Refactoring Design Pattern với tính năng mới trong Java 8
Java Program to Compute the Volume of a Tetrahedron Using Determinants
Java Program to Implement Multi-Threaded Version of Binary Search Tree
Spring Data MongoDB Transactions
The DAO with JPA and Spring
Java Copy Constructor
Java Program to Implement the Bin Packing Algorithm
Spring Boot - Cloud Configuration Server
Rest Web service: Filter và Interceptor với Jersey 2.x (P1)
Transaction Propagation and Isolation in Spring @Transactional
Versioning a REST API
Java Program to Implement Nth Root Algorithm
Java Program to Find Shortest Path Between All Vertices Using Floyd-Warshall’s Algorithm
Mapping Nested Values with Jackson
Java – Write to File
How to Get All Dates Between Two Dates?
Serverless Functions with Spring Cloud Function
Java Program to Implement JobStateReasons API
Java Program to Solve Travelling Salesman Problem for Unweighted Graph