Get the App
SLTechnology News&Howtos  ›  Development  › 

Case Analysis of usage restriction of Java generics

Shulou Source: shulou.com Published: 2022-06-02 13:08:48 09月12日 Update

This article mainly explains the "Java generics use restrictions case analysis", the article explains the content is simple and clear, easy to learn and understand, the following please follow the editor's ideas slowly in depth, together to study and learn "Java generics use restrictions case analysis" bar!

Under what circumstances can generics not be used

1 you cannot create an object using generic formal parameters.

T o=new T (); / / not allowed

2 in a generic class, generics cannot be defined on static member variables

Public class A {public static T t; / / error public T getA () {/ / correct. }}

3 generic classes cannot inherit java.lang.Throwable classes

Public class D extends java.lang.Throwable / / error

4 generic class cannot initialize an array

T [] b = new T [10]; / / error

Second, how to restrict the instantiation of generics

Generic class name

Three actual combat

1 code

Public class Base {T m; Base (T t) {m = t;} public T getM () {return m;} public void print () {System.out.println ("base print:" + m);} public static void main (String [] args) {B bb = new B ("test B"); Base base=new Base (bb); / / allow / / Base base=new Base ("base class is general"); / / System.out.println (base.getM ()) is not allowed SupA aa = new supA (); Base base1 = new Base (aa); System.out.println (base1.getM ());}} class supA {public String toString () {return "supA";}} class B extends supA {String b; public B (String b) {this.b = b;} public String toString () {return "subB";}}

2 run

SubBsupA

3 description

Restrict generic instantiated objects to subclasses that must be supA or supA through T extends supA.

SupA can be an interface, but extends cannot be replaced with implements. You must use extends.

Thank you for your reading, the above is the content of "case analysis of use restrictions of Java generics". After the study of this article, I believe you have a deeper understanding of the problem of case analysis of use restrictions of Java generics, and the specific use needs to be verified in practice. Here is, the editor will push for you more related knowledge points of the article, welcome to follow!

Tags: Examples restrictions case analysis analysis errors learning content objects situations code variables subclasses actual combat that is ideas members interfaces arrays articles more Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Shulou Information Docker MySQL MariaDB Redmi