java - Generics implementation using interface with generics -


i have interface value , class record

public interface value<t> {     t getrawvalue(); }  public class record<value<t>> {      private value<t> value;           t getrecordrawvalue() {         return value.getrawvalue();     }  } 

java not compile , complains generics declaration > . enlighten me why invalid syntax?

you need bound generic type indicate requirement of being value<t>, , need preserve type value value<t> providing, therefore record class requires 2 generic types: t: type of values returned , u: type represents value<t>

public class record<t, u extends value<t>>

here have full example of this:

public interface value<t> {     t getrawvalue(); }  public class record<t, u extends value<t>> {      public record(u value) {         this.value = value;     }      private u value;      t getrecordrawvalue() {         return value.getrawvalue();     }  }  public class stringvalue implements value<string> {      @override     public string getrawvalue() {         return "raw";     } }  public class strongvalue implements value<string> {      @override     public string getrawvalue() {         return "rrrrraaawww";     } }  public class stringrecord extends record<string, stringvalue> {      public stringrecord(stringvalue valueprovider) {         super(valueprovider);     }      public string report() {         return super.getrecordrawvalue();     } } 

Popular posts from this blog

How to calculate SNR of signals in MATLAB? -

c# - Attempting to upload to FTP: System.Net.WebException: System error -

ios - UISlider customization: how to properly add shadow to custom knob image -