Trang Chủ Tài chính Cá nhân Lập trình Java: Tất cả về Generics - núm vú

Lập trình Java: Tất cả về Generics - núm vú

Video: Java cơ bản 50: Generic 1 2025

Video: Java cơ bản 50: Generic 1 2025
Anonim

Một trong những mục tiêu thiết kế ban đầu cho Java là giữ ngôn ngữ càng đơn giản càng tốt. Nhà phát triển ngôn ngữ đã lấy một số tính năng phức tạp không cần thiết của C ++ và ném chúng ra ngoài cửa sổ. Kết quả là một ngôn ngữ đã được tao nhã và kiểu dáng đẹp. Một số người nói rằng ngôn ngữ quá trơn.

Vì vậy, sau nhiều năm thảo luận và tranh cãi, Java đã trở nên phức tạp hơn một chút. Vào năm 2004, Java đã có các kiểu enum, được cải tiến cho các vòng lặp, nhập tĩnh và một số tính năng mới thú vị khác. Nhưng tính năng mới được đề cập nhiều nhất là việc giới thiệu về các loại thuốc.

ArrayList people = new ArrayList ();

Việc sử dụng bất cứ thứ gì như là mới trong Java 5. 0. Trong Java kiểu cũ, bạn nên viết

ArrayList people = new ArrayList ();

Vào những ngày đó, ArrayList có thể lưu trữ gần như mọi thứ bạn muốn đặt vào đó - số, Tài khoản, Phòng, Chuỗi … bất cứ điều gì. Lớp ArrayList rất linh hoạt, nhưng với sự linh hoạt này đã gây ra một số nhức đầu. Nếu bạn có thể đặt bất cứ điều gì vào một ArrayList, bạn không thể dễ dàng dự đoán những gì bạn sẽ nhận được ra khỏi một ArrayList.

Cụ thể, bạn không thể dễ dàng viết mã giả định rằng bạn đã lưu các loại giá trị nhất định trong ArrayList. Dưới đây là một ví dụ:

ArrayList things = new ArrayList (); nhiều thứ. thêm (Tài khoản mới ()); Tài khoản myAccount = mọi thứ. nhận được (0); // KHÔNG S US DỤNG NÀY. IT'S BAD CODE.

Trong dòng thứ ba, cuộc gọi để lấy (0) lấy giá trị sớm nhất trong bộ sưu tập các thứ. Các cuộc gọi để có được (0) là okay, nhưng sau đó trình biên dịch chokes về nhiệm vụ cố gắng để myAccount. Bạn nhận được một tin nhắn trên dòng thứ ba nói rằng bất cứ điều gì bạn nhận được từ danh sách những điều không thể nhồi vào biến myAccount.

Bạn nhận được thông báo này bởi vì, khi trình biên dịch đạt đến dòng thứ ba, nó đã quên rằng mục đã thêm vào dòng thứ hai là của Account loại!

Sự giới thiệu của các generics khắc phục vấn đề này:

ArrayList things = new ArrayList (); nhiều thứ. thêm (Tài khoản mới ()); Tài khoản myAccount = mọi thứ. nhận được (0); / / S US DỤNG MÃ NÀY ĐỔI. Nó tốt mã.

Thêm vào hai địa điểm nói với trình biên dịch rằng mọi thứ lưu trữ Tài khoản trường hợp - không có gì khác. Vì vậy, trong dòng thứ ba trong mã trước, bạn nhận được một giá trị từ bộ sưu tập những thứ. Sau đó, vì mọi thứ chỉ lưu trữ các đối tượng Tài khoản, bạn có thể làm cho myAccount tham khảo giá trị mới đó.

Java 5. 0 thêm generics vào Java. Nhưng ngay sau khi sự ra đời của Java 5. 0, các lập trình viên nhận thấy sự mãng về mã cho Generics có thể là gì.Rốt cuộc, bạn có thể tạo ra các loại thuốc trong Generics. An ArrayList có thể chứa một mảng của mảng, mỗi trong số đó có thể là một ArrayList. Vì vậy bạn có thể viết

ArrayList  mess = new ArrayList  ();

Tất cả sự lặp đi lặp lại trong tuyên bố lộn xộn đó cho các lập trình viên nhức đầu! Để tránh sự xấu hổ này, Java 7 và các phiên bản sau có nhà điều hành kim cương , . Nhà điều hành kim cương nói với Java để tái sử dụng bất cứ điều gì insanely phức tạp công cụ bạn đưa vào phần trước của tuyên bố chung chung.

Trong ví dụ này, lệnh cho Java để tái sử dụng , mặc dù bạn chỉ viết một lần. Dưới đây là cách mã Java 7 được sắp xếp hợp lý:

ArrayList  mess = new ArrayList ();

Trong Java 7 và các phiên bản sau, bạn có thể viết một trong hai tờ khai lộn xộn này - tuyên bố ban đầu khó chịu với hai lần xuất hiện của ArrayList [] hoặc tuyên bố tinh gọn (chỉ nhẹ) với toán tử kim cương và chỉ một ArrayList [] sự xuất hiện.

Vâng, mã hợp lý vẫn còn phức tạp. Nhưng không có sự lặp lại ArrayList [], mã hợp lý ít rườm rà hơn. Nhà khai thác kim cương của Java 7 mất đi một cơ hội để bạn sao chép một cái gì đó không đúng và có một lỗi lớn trong mã của bạn.

Lập trình Java: Tất cả về Generics - núm vú

Lựa chọn của người biên tập

Cách lọc một nguồn dữ liệu kết hợp trong Word 2013 - núm vú

Cách lọc một nguồn dữ liệu kết hợp trong Word 2013 - núm vú

Trong tài liệu Word 2013, lọc một nguồn dữ liệu loại trừ các bản ghi nhất định (hoặc xem một cách khác, nó chỉ bao gồm một số bản ghi) dựa trên một hoặc nhiều tiêu chí mà bạn chỉ định. Ví dụ: bạn có thể muốn chỉ bao gồm các địa chỉ từ một thành phố hoặc tiểu bang nhất định, hoặc chỉ những địa chỉ phù hợp với địa chỉ ...

Cách Tìm Stuff bạn không thể gõ trong Word 2007 - núm vú

Cách Tìm Stuff bạn không thể gõ trong Word 2007 - núm vú

Word 2007 giúp tìm các ký tự đặc biệt, không in được trong tài liệu của bạn. Sử dụng hộp thoại Tìm và Thay thế, bạn có thể tìm kiếm những thứ như tab, dấu phân cách, dấu thập phân, khoảng trống và những thứ khác mà bạn không thể tạo ra từ bàn phím. Gọi hộp thoại Tìm và Thay thế. Nếu cần thiết, hãy nhấp vào nút Thêm để ...

Cách Tìm Định dạng trong Word 2007 - núm vú

Cách Tìm Định dạng trong Word 2007 - núm vú

Bạn có thể sử dụng lệnh Tìm để đánh cắp tài liệu Word 2007 của bạn để định dạng thông tin. Ví dụ, nếu bạn chỉ muốn tìm những trường hợp của từ lie có chữ đậm, bạn có thể làm điều đó. Ví dụ này tìm kiếm trứng ngỗng văn bản với kích thước phông chữ là 24 điểm trong một ...

Lựa chọn của người biên tập

Làm thế nào để Thoả Nhận Hợp Đồng Máy chủ Web - núm vú

Làm thế nào để Thoả Nhận Hợp Đồng Máy chủ Web - núm vú

Trên thực tế, đa số của máy chủ web không hoàn lại tiền nếu bạn để lại trước khi thời hạn hợp đồng của bạn kết thúc. Trong thực tế, nếu bạn có một thỏa thuận giá rẻ trên hosting của bạn, nó có thể có các điều khoản và điều kiện yêu cầu bạn xem ra thời hạn của hợp đồng hoặc trả tiền cho đặc quyền ...

Cách quản lý tập tin với Control Panel của Website - núm vú

Cách quản lý tập tin với Control Panel của Website - núm vú

Bảng điều khiển của bạn cung cấp cho bạn một cách tiện dụng để quản lý các tệp của bạn mà không cần máy chủ FTP được lưu trữ trên web. Đây là một cái gì đó phổ biến cho hầu hết các bảng điều khiển nhưng đôi khi có nhãn khác nhau một chút. Ví dụ, hầu hết các máy chủ gọi nó là File Manager, nhưng DreamHost gọi nó là webFTP. Sử dụng Trình quản lý Tệp là

Cách Quản lý Người dùng với Quản lý Máy chủ Web - núm vú

Cách Quản lý Người dùng với Quản lý Máy chủ Web - núm vú

Cây thư mục riêng trên máy chủ nơi tập tin của nó được giữ. Là chủ sở hữu của máy chủ, bạn có quyền truy cập superuser cho toàn bộ máy chủ, có nghĩa là bạn có thể xem tất cả các tệp tin của chủ tài khoản khác. Tất cả các tập tin tài khoản được lưu giữ trong các thư mục bên trong một thư mục gọi là home, ...

Lựa chọn của người biên tập

Tạo một Cột trang web mới trong SharePoint 2010 - núm vú

Tạo một Cột trang web mới trong SharePoint 2010 - núm vú

SharePoint 2010 có một thực thể cột trang web cho phép bạn để sử dụng lại các cột trên nhiều danh sách. Khi bạn tạo một cột mới trong danh sách của mình, bạn tạo ra một cột danh sách - có nghĩa cột chỉ có thể được sử dụng trong danh sách đó. Các cột của trang web được tạo ở cấp cao nhất của trang web nhóm của bạn và có thể ...

Tạo Tuỳ chỉnh Chủ đề cho SharePoint 2010 Sử dụng PowerPoint - núm vú

Tạo Tuỳ chỉnh Chủ đề cho SharePoint 2010 Sử dụng PowerPoint - núm vú

Cho nhiều nhà thiết kế trang web và chủ sở hữu SharePoint 2010 , ý tưởng để có thể tùy chỉnh chủ đề của họ là rất thú vị. Mặt khác, nhiệm vụ chọn nhiều màu có thể có vẻ khó chịu với những người biết họ thích gì khi họ nhìn thấy nó nhưng gặp sự cố khi lựa chọn. Nếu bạn ở trong ...

Tạo trang web mới trong SharePoint 2010 - núm vú

Tạo trang web mới trong SharePoint 2010 - núm vú

Bạn có thể tạo một bộ sưu tập trang web mới trong SharePoint theo hai cách - bằng cách sử dụng Quản trị Trung tâm hoặc thông qua Tạo trang web Tự phục vụ. Sử dụng Quản trị Trung tâm đòi hỏi các quyền được cấp phép, thường là hạn chế đối với nhân viên CNTT. Tạo trang web tự tạo là một tính năng của SharePoint cho phép CNTT trao quyền cho việc tạo bộ sưu tập trang web mới ...