- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
考虑一个简单的类:
class Employee {
Tên chuỗi;
int sal;
....//getters and setters
}
例如,我可以创建一个比较器来对字段名称进行排序。
class EmpSortByName implements Comparator{
@Ghi đè
public int compare(Employee e1, Employee e2){
return e1.getName().compareTo(e2.getName());
}
}
但是,查看 apache commons BeanComparator,排序可以通过以下方式实现:
BeanComparator bc = new BeanComparator("name");
Collections.sort(employeeList, bc);
因此,通过使用 BeanComparator,我可以用最少的代码实现排序。使用 Comparators 和 BeanComparators 之间的权衡是什么:在性能、使用场景(多字段排序、其他因素)方面?
我还了解到,要使用 BeanComparator,必须导入 beanutils jar。
1 Câu trả lời
BeanComparator 使用反射来访问 name 属性并比较两个对象。虽然反射性能有所提高,但仍然不如直接访问字段快。这是否重要取决于它在您的应用程序中被调用的次数以及在何种上下文中。
另一个问题是,如果重构方法并将其重命名为getLastName()
,则使用BeanComparator 的代码将不会被重构,直到运行时(或单元测试时)才会发现问题).
坦率地说,实现比较器非常简单,我认为使用反射不是一个好主意。避免 4 行琐碎代码的好处不足以补偿它导致的性能和可维护性问题。
关于java - 比较器与 Apache BeanComparator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11441623/
Sự khác biệt giữa Apache Beam và Apache Kafka về mặt xử lý luồng là gì? Tôi cũng cố gắng nắm bắt sự khác biệt về kỹ thuật và quy trình. Xin hãy giúp tôi hiểu rõ hơn qua báo cáo kinh nghiệm của bạn. Câu trả lời tốt nhất là Beam là một API cho phép
Một câu hỏi hơi lạ. Nếu tôi sử dụng Apache Ignite để nhắn tin và xử lý sự kiện, tôi có cần phải sử dụng Kafka không? Về cơ bản, Kafka sẽ cung cấp cho tôi những tính năng bổ sung nào (nếu có) so với Ignite? Trước đó
Apache MetaModel là một khuôn khổ truy cập dữ liệu cung cấp giao diện chung để khám phá, tìm hiểu và truy vấn các loại nguồn dữ liệu khác nhau. Apache Drill là một công cụ truy vấn SQL không có lược đồ
Tomcat là một máy chủ web Java được sử dụng rộng rãi và Apache cũng là một máy chủ web. Sự khác biệt giữa chúng trong việc sử dụng dự án thực tế là gì? Sau một thời gian nghiên cứu, tôi đã đưa ra một ý tưởng đơn giản, ví dụ như Apache Tomcat Java
Vì chỉ cần sử dụng Apache là đủ để chạy nhiều ứng dụng Web, vậy khi nào và tại sao mọi người lại sử dụng Tomcat ngoài Apache? Câu trả lời hay nhất Apache Tomcat là một máy chủ web và Java
Tôi có một tài khoản trên VPS (máy chủ Apache của một người bạn có cPanel) trong đó tôi có một thư mục public_html. Chúng tôi có khoảng 5-6 trang web: /home/myusernam
Hiện tại tôi đang cố gắng tải các mô-đun vào Apache, được xây dựng bằng cmake. Mô-đun này được gọi là mod_mapcache. Nó đã được xây dựng thành công và cài đặt đúng trong /usr/lib/apache2/modules directroy
Tôi có một câu hỏi về dấu chấm hỏi trong url. Ví dụ: Tôi có url test.com/controller/action/part_1%3Fpart_2 (trong đó %3F là dấu chấm hỏi được mã hóa theo url) và sử dụng quy tắc viết lại này:
Apache chạy trên cổng 80 và Tomcat chạy trên cổng 8080 trên cùng một máy. Apache bao gồm các tệp html;css;js; và gọi dịch vụ tomcat. Về cơ bản là ví dụ
Sự khác biệt giữa nhánh Apache 1 và Apache 2 là gì? Ưu và nhược điểm của việc sử dụng phương pháp này hay phương pháp kia là gì? Có vẻ như một trong những nhược điểm của Apache 2 là nó sử dụng nhiều bộ nhớ, nhưng có thể nó xử lý các yêu cầu nhanh hơn? Điều thú vị nhất là Apache
Trên thực tế, chúng tôi đang sử dụng máy chủ web Apache để lưu trữ REST-API của mình. Script này được viết bằng Lua và sử dụng bản đồ mod-lua. Ví dụ, một đoạn trích thực tế từ httpd.conf: [...] Lu
Tôi có một máy chủ ảo trên Ubuntu trên Apache, đây không phải là cấu hình chính của tôi, tôi có một trang web khác làm trang web chính, vì vậy tôi muốn thiết lập trang này trên cùng một IP bằng cách sử dụng máy chủ ảo. urologyexpert.mx là của tôi
Tôi đã sử dụng Apache Camel trong một thời gian dài và thấy đây là giải pháp tuyệt vời cho nhiều nhu cầu kinh doanh liên quan đến tích hợp hệ thống. Nhưng vài năm trước tôi đã tình cờ biết đến giải pháp Apache Nifi. Sau khi tìm kiếm trên Google, tôi thấy rằng mặc dù Nifi có thể
Vì cả hai đều là nền tảng phát trực tuyến xử lý các sự kiện tại một thời điểm, vậy sự khác biệt cốt lõi về mặt kiến trúc giữa hai công nghệ/nền tảng phát trực tuyến này là gì? Ngoài ra, trong trường hợp sử dụng cụ thể nào thì cái này phù hợp hơn cái kia? Câu trả lời hay nhất Như bạn đã đề cập, cả hai đều là nền tảng phát trực tuyến để tính toán trong bộ nhớ theo thời gian thực. Nhưng khi bạn nhìn kỹ
Tên ngôn ngữ được sử dụng trong các tệp apache như httpd.conf và máy chủ ảo là gì, ví dụ # Đảm bảo rằng Apache lắng nghe trên cổng 80 Nghe 80 D
Trong quá trình học tập, tôi nghĩ sẽ tốt hơn nếu tôi mở rộng kiến thức của mình hơn về Apache. Tôi có một vài câu hỏi và mặc dù tôi biết một số câu hỏi có thể cần phải giải thích khá dài, tôi hy vọng bạn có thể cung cấp bản tóm tắt để tôi biết phải tìm ở đâu. (Tốt nhất là trích dẫn mo
đóng cửa. Câu hỏi này dựa trên ý kiến. Hiện tại không chấp nhận câu trả lời. Bạn muốn cải thiện vấn đề này? Cập nhật câu hỏi để có thể trả lời bằng thông tin thực tế và trích dẫn bằng cách chỉnh sửa bài đăng này. Đã đóng 4 tháng trước. Cải thiện
Hiện tại, câu hỏi này không phù hợp với định dạng Hỏi & Đáp của chúng tôi. Chúng tôi mong đợi câu trả lời được hỗ trợ bằng sự kiện, trích dẫn hoặc chuyên môn, nhưng câu hỏi này có thể gây ra tranh luận, tranh cãi, thăm dò ý kiến hoặc thảo luận mở rộng. Nếu bạn cảm thấy câu hỏi này có thể được cải thiện và có thể mở lại, hãy truy cập
Câu hỏi này đã có câu trả lời tại đây: Sự khác biệt giữa Apache Kafka và Camel (Broker so với Integration) (4 câu trả lời) Đã đóng 3 năm trước. Theo như tôi biết
Tôi có 2 tên miền phụ sử dụng cùng một quy tắc như thế này: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond
Tôi là một lập trình viên xuất sắc, rất giỏi!