graph - Java - Implementing interface with Object argument -


i implementing java graph library (to learn ...). accordingly, wrote interface

public interface digraphinterface { public boolean isempty(); public int size(); public boolean isadjacent(object v, object w); public void insertedge(object v, object w); public void insertvertex(object v); public void eraseedge(object o, object w); public void erasevertex(object v); public void printdetails(); } 

as first step towards implementing, writing digraph class implements above interface. however, keep things simple, want node identifiers integers, defined functions as

 @override public boolean isadjacent(int v, int w) { // todo auto-generated method stub return adjlist[v].contains(w) || adjlist[w].contains(v); } 

but, getting error, need override or implement method supertype. can explain me underpinnings behavior. also, if can explain, how design libraries allow flexibility add components of type.

you interface says:

public boolean isadjacent(object v, object w); 

you implement:

public boolean isadjacent(int v, int w) 

for java hasn't same signature, therefore isn't same method. use generics, depends on need but, in case like:

public interface digraphinterface<t> { ... public boolean isadjacent(t v, t w); ... } 

and implementation be:

public class defaultdigraph<integer> { ... public boolean isadjacent(integer v, integer w) { ... } ... } 

of course need take care, because integer can null, , int not. therefore null checks on parameters idea, before auto-unboxing.


Comments

Popular posts from this blog

JQuery Autocomplete without using label, value, id -

c++ - Accessing inactive union member and undefined behavior? -

JAVA - what is the difference between void and boolean methods? -