String
thực hiện lớp học CharSequence
và cũng mở rộng từ lớp Object
. Vì vậy, nếu ai đó đang sử dụng loại khác CharSequence
chúng ta phải định kiểu như phiên bản đầu tiên của bạn (String)value
[(String)value
nếu nó chứa String
đối tượng và (StringBuffer)value
cho StringBuffer loại đối tượng]
Về toString()
chúng ta phải ghi đè toString()
phương thức trong lớp của chúng tôi mà sẽ hiển thị biểu diễn đối tượng của chúng ta theo định dạng String theo yêu cầu của chúng ta.Nếu chúng ta không ghi đè lên thực hiện sau đó mặc định của toString()
từ Object
lớp sẽ được thừa hưởng và sẽ cung cấp cho các đại diện String trong hệ thập lục phân của mã băm của đối tượng của chúng tôi như [email protected]
thực hiện khác của CharSequence
là CharBuffer, StringBuffer, StringBuilder
1>(Chuỗi) giá trị có nghĩa là value
chứa đối tượng chuỗi. Nếu nó không chứa String
, ClassCastException
sẽ được ném vào thời gian chạy. Typecasting sẽ ném ngoại lệ thời gian biên dịch nếu bạn định kiểu với phân cấp kiểu không liên quan. như đưa ra dưới đây
Exception e = new Exception();
String str = (String)e;
2> Gọi toString() nghĩa anyobject
không cần thiết phải là một đối tượng String
. Đúng cách ghi đè phương thức toString()
trong lớp của chúng ta sẽ hữu ích cho việc biểu diễn chuỗi của lớp riêng của chúng ta và cũng sẽ không bao giờ ném bất kỳ ngoại lệ nào tồn tại trong thế giới java vì nó thừa kế toString()
từ lớp đối tượng. Vì vậy, nếu ghi đè bạn toString và bạn in System.out.println(userObject);
sau đó nó sẽ không hiển thị đại diện thập lục phân của mã băm của đối tượng của chúng tôi như [email protected]
public class UserObject {
String name;
int age;
@Override
public String toString() {
return " Name="+name+" \n age="+age;
}
public static void main(String[] args) {
UserObject uo = new UserObject();
uo.name="AAA";
uo.age=18;
System.out.println(uo); //output will be "Name=AAA age=18" instead of "[email protected]"
}
}
Về mới Long (value) và giá trị (Long).
new Long(value)
có nghĩa là, bạn có giá trị là long/String
bạn muốn chuyển đổi nó thành lớp đối tượng Long
. Vì vậy, bạn có thể sử dụng Long (long), Long (String) constructor theo điều kiện.
Giải thích về kiểu chữ dài tương tự như trên Chuỗi typecasting hoặc bất kỳ typecasting nào. (Long)value
có nghĩa là khi bạn nhận được mã như dưới đây thì bạn có thể nhập thành Long, Integer, Double cũng phụ thuộc vào giá trị được gán ở phía bên phải của biểu tượng bằng nhau.
Number i=10L; //java.lang.Number
Long a= (Long)i;
xem câu trả lời cập nhật của tôi. – AmitG