New Object getting created while using CallBack methods in Java? -
i trying create utilize of callback functionality in java. arrayindexoutofbound exception while implementing it
callbackinterface.java
interface callbackinterface { public void oncallback(int position); }
first.java
public class first implements callbackinterface { list<string> list = new arraylist<string>(); public static void main(string args[]) { new first().gogo(); } public void gogo(){ list.add("one"); callbackinterface obj = new first(); sec second = new second(obj); second.getposition(); } public void oncallback(int position) { list.remove(0); } }
second.java
class sec { callbackinterface callback; public second(callbackinterface callback) { this.callback = callback; } public void getposition() { callback.oncallback(0); } }
**here stacktrace: **
exception in thread "main" java.lang.indexoutofboundsexception: index: 0, size: 0 @ java.util.arraylist.rangecheck(arraylist.java:635) @ java.util.arraylist.remove(arraylist.java:474) @ org.help.adapters.first.oncallback(first.java:28) @ org.help.adapters.second.getposition(first.java:43) @ org.help.adapters.first.gogo(first.java:25) @ org.help.adapters.first.main(first.java:17)
in method oncallback() arrayindexoutexception, because list empty. while using callbacks objects initialized 1 time again ? need utilize same list in callback method?
it's not callback that's creating new object, it's you.
callbackinterface obj = new first(); sec second = new second(obj);
instead pass object
second sec = new second(this);
since this
object has element added list
.
java callback
No comments:
Post a Comment