30/09/2018, 23:00
Thắc mắc về clone và định dạng số trong java
Mình có hai thắc mắc:
-
Làm thế nào để định dạng tiền tệ ví du: 1,000,000.00 VND trong java.
-
Liên quan đến clone trong dòng code sau:
public class KhoiAB { public boolean equals(LopA other) { LopA temp = (LopA)this.clone();//được //LopA temp = (LopA)this//Không được; return (other.getName().trim().equals(temp.getName().trim())); } // clone ở đây có tác dụng gì?
Bài liên quan
Bạn có thể sử dụng number format hoặc Currencies
Code tham khảo
Hoặc
Source
Clone() : là một cách để tạo một bản sao của một đối tượng.
Tại sao phải dùng clone(); trong nhiều trường hợp để tiết kiệm tài nguyên, thay vì sử dụng new để tạo đối tượng mới.
Dòng lệnh này. Bạn ép kiểu đối tượng this trong (KhoiAB) sang (LopA) rồi lại clone chính nó. Mình nghĩ chương trình sẽ không chạy và có lỗi compile-time error
Không ép kiểu được thôi
Với đoạn code trên thì mình sẽ không hoàn toàn hiểu được, bạn cần up toàn bộ classs A và KhoiAB có liên quan
chủ yếu là để mua việc thêm cho jvm vì cũng không có ý nghĩa nhiều lắm. Thay vì thế có thể dùng thẳng this thay cho clone ra temp luôn cũng được
Vậy bạn nghĩ đoạn clone kia có chạy không?
có thể chạy ngon hoặc có thể sinh exception, nhưng về mặt ý nghĩa thì trong trường hợp này là không có ý nghĩa
Có ý nghĩa đấy, quan trọng phải biết cái Clone() bạn ý đã modify chưa và đối tượng this là gì
nếu this trỏ tới đối tượng LopB() mà LopB() extends LopA() thì sao?