Mục lục
Short class là một wrapper class của kiểu dữ liệu nguyên thủy short chứa nhiều method hữu ích cho chúng ta thao tác với short value như khởi tạo từ một chuỗi, chuyển short value sang String etc. Một object Short class chứa duy nhất một short value.
Constructor
Chúng ta có 2 constructor chính để khởi tạo một object Short class.
- Short(short b): Khởi tạo một object Short từ một short value.
- Short(String s): Khởi tạo một object Short từ một chuỗi số trong một hệ chỉ định(nhị phân, thập phân etc). Mặc định là thập phân. Nếu chuỗi short không đúng thì sẽ gây ra lỗi NumberFormatException.
Ví dụ
Short s = new Short((short)10); // 10 Short s1 = new Short("12"); // 12 Short s2 = new Short("AAA"); // NumberFormatException
Giá trị Short lớn nhất – bé nhất
Short class còn cung cấp cho chúng ta 2 hằng số mà được sử dụng nhiều khi thao tác với kiểu dữ liệu int là giá trị lớn nhất và bé nhất.
Giá trị lớn nhất: Short.MAX_VALUE
Giá trị bé nhất: Short.MIN_VALUE
System.out.println(Short.MAX_VALUE); // 32767 System.out.println(Short.MIN_VALUE); // -32768
Các method thường sử dụng trong Short class
Ở phần này mình sẽ điểm qua một số method mà chúng ta thường xuyên sử dụng trong Short class.
1, toString(): Trả về chuỗi tương ứng với byte value.
Syntax
public String toString()
Example
Short s = Short.valueOf("12"); System.out.println(s.toString()); // 12
2, valueOf(): Khởi tạo một Short object với short value được cung cấp. Nếu giá trị cung cấp không hợp lệ sẽ dẫn đến NumberFormatException.
Syntax
public static Short valueOf(String s) throws NumberFormatException // or public static Short valueOf(String s, int radix)
Short s = Short.valueOf("12"); // 12 Short s1 = Short.valueOf((short) 15); // 15 Short s2 = Short.valueOf("011100001", 2); // 225 Short s3 = Short.valueOf("100000"); // NumberFormatException Short s4 = Short.valueOf("aaaa"); // NumberFormatException
3, parseShort(): Chuyển chuỗi thành short value tương ứng. Nếu chuỗi ko hợp lệ thì sẽ gây ra NumberFormatException. Ngoài ra các bạn cũng có thể chuyển chuỗi số từ các hệ nhị phân, lục phân etc.
Syntax
public static byte parseShort(String s) throws NumberFormatException or public static byte parseShort(String s, int radix) throws NumberFormatException
Example
System.out.println(Short.parseShort("123")); // 123 // Chuyen chuoi he nhi phan sang thap phan System.out.println(Short.parseShort("0110", 2)); System.out.println(Short.parseShort("aaaa")); // NumberFormatException
4, equals(): So sánh bằng giữa 2 object Short class. Trả về true nếu 2 object có short value bằng nhau, ngược lại false.
Syntax
public boolean equals(Object obj)
Example
Short a = Short.valueOf("10"); Short b = Short.valueOf("20"); Short c = Short.valueOf("10"); System.out.println(a.equals(b)); // false System.out.println(a.equals(c)); // true
5, compareTo(): So sánh 2 object Short class, trả về bé hơn nếu object được so sánh lớn hơn object so sánh, bằng 0 nếu bằng và bé hơn không nếu nhỏ hơn.
Syntax
public int compareTo(Short anotherByte)
Short a = Short.valueOf("10"); Short b = Short.valueOf("20"); Short c = Short.valueOf("10"); System.out.println(a.compareTo(b)); //-10 System.out.println(a.compareTo(c)); // 0 System.out.println(b.compareTo(c)); // 10
Abstract method
Ngoài các method trên thì Short class cũng implement các method của Number abstract class. Các method này sẽ giúp chúng ta chuyển giá trị kiểu short sang các kiểu dữ liệu khác như double, float, long, byte để thao tác:
- public byte byteValue(): Trả về byte tương ứng của Integer object.
- public short shortValue(): Trả về short value tương ứng của Integer object.
- public int intValue(): Trả về int value tương ứng của Integer object.
- public long longValue(): Trả về long value tương ứng của Integer object.
- public double doubleValue(): Trả về double value tương ứng của Integer object.
- public float shortValue(): Trả về float value tương ứng của Integer object.
Ví dụ
public class Main { public static void main(String[] args) { Short s = Short.valueOf("127"); System.out.println("Byte value: " + s.byteValue()); System.out.println("Short value: " + s.shortValue()); System.out.println("Int value: " + s.intValue()); System.out.println("Long value: " + s.longValue()); System.out.println("Double value " + s.doubleValue()); System.out.println("Float value: " + s.floatValue()); double a = 5.5d; double d = s.doubleValue()/a; System.out.println(d); float b = 5.5f; float f = s.floatValue()/b; System.out.println(f); } }
Output
Byte value: 127
Short value: 127
Int value: 127
Long value: 127
Double value 127.0
Float value: 127.0
23.09090909090909
23.09091