Java Circular Reference - Can’t Compile

Java Circular Reference - Can’t Compile

By : Islam Ahmed
Date : November 28 2020, 08:01 AM
this one helps. File: A.java , They should compile fine if you compile them both at once:
code :

Share : facebook icon twitter icon
Why does this generic constraint compile when it seems to have a circular reference

Why does this generic constraint compile when it seems to have a circular reference

By : user2321695
Date : March 29 2020, 07:55 AM
hope this fix your issue UPDATE: This question was the basis of my blog article on the 3rd of February 2011. for the great question!
code :
abstract class Animal<T> where T : Animal<T>
    public abstract void MakeFriends(IEnumerable<T> newFriends);
class Cat : Animal<Cat>
    public override void MakeFriends(IEnumerable<Cat> newFriends) { ... }
class Tiger: Animal<Cat>
    public override void MakeFriends(IEnumerable<Cat> newFriends) { ... }
abstract class Animal 
    public abstract void MakeFriends(IEnumerable<THISTYPE> newFriends);
class Cat : Animal 
    public override void MakeFriends(IEnumerable<Cat> newFriends) {}

class Tiger: Animal
    // illegal!
    public override void MakeFriends(IEnumerable<Cat> newFriends) { ... }
Animal animal = new Cat();
animal.MakeFriends(new Animal[] {new Tiger()});
class SortedList<T> where T : IComparable<T>
class C<T, U> where T : U where U : T
Java Refactor led to a Circular reference

Java Refactor led to a Circular reference

By : Harleymax
Date : March 29 2020, 07:55 AM
Hope this helps Check out this blog post on the topic; guice is smart enough, given the bindings you provide in your guice Module, to detect the circular reference and then use a temporary proxy so that the injection can be resolved.
Json and Java - Circular Reference

Json and Java - Circular Reference

By : Temporary
Date : March 29 2020, 07:55 AM
wish of those help There are two ways you can go about this. If you must expose your entity to the outside world, I recommend adding @JsonIgnore on the property that is causing the circular reference. This will tell Jackson not to serialize that property.
Another way is to use the bidirectional features provided by Jackson. You can either use @JsonManagedReference or @JsonBackReference. @JsonManagedReference is the "forward" part of the property and it will get serialized normally. @JsonBackReference is the "back" part of the reference; it will not be serialized, but will be reconstructed when the "forward" type is deserialized.
Java - Enums - Logical circular reference

Java - Enums - Logical circular reference

By : Nakul Bhojani
Date : March 29 2020, 07:55 AM
I think the issue was by ths following , You cannot assign SCISSORS to ROCK before it is defined. You can, instead, assign the values in a static block.
I have seen a lot examples where people use String values in the constructors, but this is more concrete to assign the actual values after they have been declared. This is encapsulated and the beats instance variable cannot be changed (unless you use reflection).
code :
public enum Hand {

    private Hand beats;

    static {
        ROCK.beats = SCISSORS;
        PAPER.beats = ROCK;
        SCISSORS.beats = PAPER;

    public Hand getBeats() {
        return beats;

    public static void main(String[] args) {
        for (Hand hand : Hand.values()) {
            System.out.printf("%s beats %s%n", hand, hand.getBeats());
Equivalent Java generic circular reference C#

Equivalent Java generic circular reference C#

By : user1718786
Date : March 29 2020, 07:55 AM
Any of those help What you see is not a circular reference. The type parameter constraint just lets you pass in a type which is a descendant of the generic type specified by the constraint.
The following code example compiles and I think will do what you need:
code :
public class UserAgentAnalyzerDirect { }

public class UserAgentAnalyzerDirectBuilder<UAA, B> 
    where UAA : UserAgentAnalyzerDirect 
    where B : UserAgentAnalyzerDirectBuilder<UAA, B>
    // this method is supposed to implement the effect of the 
    // constructor in the original Java code
    public void SetUAA(UAA a) { }

    // further implementation

public static UserAgentAnalyzerDirectBuilder<UAA, B> NewBuilder<UAA, B>()
    where UAA : UserAgentAnalyzerDirect, new()
    where B : UserAgentAnalyzerDirectBuilder<UAA, B>, new()
    // Unlike in Java, C# allows instantiating generic type parameters only using 
    // a parameter-less constructor. Hence we use the SetUAA method here instead.
    var a = new UAA();
    var b = new B();
    return b;
public class CustomUserAgentAnalyzerDirect : UserAgentAnalyzerDirect { }

public class CustomUserAgentAnalyzerDirectBuilder : UserAgentAnalyzerDirectBuilder<CustomUserAgentAnalyzerDirect, CustomUserAgentAnalyzerDirectBuilder> { }
Related Posts Related Posts :
  • Why is it mandatory for ternary operations to return a value?
  • How can I make my listview rows different heights
  • Array declaration trick : Is it bad to use it?
  • Calling different classes with if else statements
  • Free API for speech recognition system
  • Java: Objects in JFrame are messed up
  • Is there a similar of MessageBox of ExtJS in ADF Faces
  • Passing HttpServletResponse in Spring Boot controller method
  • Failed to load libraries: [netty_tcnative_linux_arm_32, netty_tcnative_linux_arm_32_fedora, netty_tcnative_arm_32, netty
  • How to build a small documents storage?
  • Getting pixel position of a text in an image
  • How do I get a list of Methods called from a Class in Eclipse IDE?
  • Convert string to day of week (not exact date)
  • Unable to understand how rounding is working for decimal digits (Java)
  • How to avoid java.lang.NoSuchMethodError: org.apache.poi.util.IOUtils.copy(Ljava/io/InputStream;Ljava/io/OutputStream;)
  • JTable Renderer not working with RowSorter?
  • From java.util.concurrent.Future<T> to play.libs.F.Promise<T>: How to do that in Java?
  • jUnit tests work in Eclipse, but fail in ant - java.lang.RuntimeException: Stub
  • How do i add a tooltip to existing gwt Textbox?
  • actor replying to non-actor
  • Google Cloud Messaging - server connection
  • Which classes are unmodifiable and cannot be intrumented and is there a way to bypass it?
  • Java & Jersey 1.17: Custom default response headers
  • Java rounding error
  • Setting custom RejectedExecutionHandler for ThreadPoolExecutor after executing some tasks?
  • Arquillian test class variables lose value
  • java.util.ConcurrentModificationException while inserting in ArrayList
  • How to write generic Java API without method Overloading
  • Java Serialization / Deserialization of an ArrayList works only on first program execution
  • Conway's Game of Life's rules dont apply properly
  • call a java method when Click on a html button without using javascript
  • Why does SSLSocketFactory.createSocket returns a Socket instead of SSLSocket?
  • How to schedule a task in Tomcat
  • compare two pdf files (approach) using java
  • What is the use of allowCoreThreadTimeout( ) in ThreadPoolExecutor?
  • Describe the Strategy Design Pattern in Java?
  • MongoDB too many open connections
  • Issue with generate JAXB classes with value constructors
  • Moving from one frame to another in java swing
  • Get a thread by Id
  • how to open front camera and back camera at same time?
  • Messed up with Java Declaration
  • Extracting chart in EXcel as image using java
  • How to get latitude and longitude in Android phone?
  • Do GC pauses and kill -STOP produce the same behavior?
  • Android HTML.ImageGetter Images resized
  • The way to instantiate map<String, List<String>> in Java
  • Java Making objects move while buttons held
  • Androidx Navigation View - `setNavigationItemSelectedListener` Doesn't Work
  • after compiling code JFrame does not appear
  • Netbeans project, JFrames ran from the main JFrame close all JFrames in project
  • Square Retrofit Client: How to enable/disable followRedirects? How to intercept redirect URL?
  • Mouse click on specific time JAVA
  • android 4 onCreateDialog return type incompatible when overriding
  • Java Implementation of Oracle's DBMS_UTILITY.GET_HASH_VALUE Function
  • javac cannot be run, and furthermore does not seem installed
  • Function to obtain a thread given its ID
  • Java File path to Executable has spaces
  • Minimum Oracle Java VM heap memory setting?
  • Elegant way to create one of a large number of classes
  • shadow
    Privacy Policy - Terms - Contact Us © ourworld-yourmove.org