Câu hỏi được gắn thẻ «generics»

Generics là một dạng đa hình tham số được tìm thấy trong một loạt các ngôn ngữ, bao gồm các ngôn ngữ .NET, Java, Swift và Rust.

3
Lựa chọn chữ ký phương thức cho biểu thức lambda với nhiều loại mục tiêu phù hợp
Tôi đã trả lời một câu hỏi và chạy vào một kịch bản mà tôi không thể giải thích. Xem xét mã này: interface ConsumerOne<T> { void accept(T a); } interface CustomIterable<T> extends Iterable<T> { void forEach(ConsumerOne<? super T> c); //overload } class A { private static CustomIterable<A> iterable; private …
11 java  generics  lambda  javac  ecj 

1
Tại sao trình biên dịch chọn phương thức chung này với tham số loại lớp khi được gọi với loại giao diện không liên quan?
Hãy xem xét hai lớp và giao diện sau đây: public class Class1 {} public class Class2 {} public interface Interface1 {} Tại sao cuộc gọi thứ hai để mandatorygọi phương thức quá tải với Class2, nếu getInterface1và Interface1không có mối quan hệ với Class2? public class Test { public …

1
Tham chiếu phương thức và Generics trong Java-8
Tôi đang đối mặt với vấn đề với tham chiếu phương thức kết hợp với các loại chung chung. Chúng tôi có mã nơi chúng tôi cần gọi một phương thức quá tải, nhưng nó không thành công với lỗi: Không thể giải quyết giá trị m1 () Tôi đã …
11 java  generics  lambda  java-8 

4
Vấn đề với thuộc tính chung khi ánh xạ kiểu
Tôi có một thư viện xuất một loại tiện ích tương tự như sau: type Action<Model extends object> = (data: State<Model>) => State<Model>; Loại tiện ích này cho phép bạn khai báo một chức năng sẽ thực hiện dưới dạng "hành động". Nó nhận được một đối số chung là …

4
Lựa chọn phương pháp tổng quát C #
Tôi đang cố gắng viết các thuật toán chung trong C # có thể hoạt động với các thực thể hình học có kích thước khác nhau. Trong ví dụ giả định sau đây tôi có Point2và Point3, cả hai đều thực hiện một IPointgiao diện đơn giản . Bây …
9 c#  generics 

2
C # 's không thể làm cho `notnull` gõ nullable
Tôi đang cố gắng tạo một loại tương tự như của Rust Resulthoặc Haskell Eithervà tôi đã đạt được điều này: public struct Result<TResult, TError> where TResult : notnull where TError : notnull { private readonly OneOf<TResult, TError> Value; public Result(TResult result) => Value = result; public Result(TError error) => …


1
Thực hiện phương pháp chung của Il Ilalal: Tại sao tôi không nhận được bất kỳ lỗi biên dịch nào?
Tôi đã có một giao diện chứa một phương thức có chữ ký này: <P extends MergeProperty<T> & RestartApplicant> List<P> loadPropertiesFrom(T p1, T p2); Về cơ bản, MergePropertylà một lớp KHÔNG thực hiện RestartApplicantvà RestartApplicantlà một giao diện chức năng có chứa một phương thức không thực sự quan trọng …
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.