blob: 374639e3cd5bf4712353dd28b05cbee190dd01ed [file] [view] [edit]
A method that always calls itself will cause a StackOverflowError.
```java
int oops() {
return oops();
}
```
```
Exception in thread "main" java.lang.StackOverflowError
at Test.oops(X.java:3)
at Test.oops(X.java:3)
...
```
The fix may be to call another method with the same name:
```java
void process(String name, int id) {
process(name, id); // error
process(name, id, /*verbose=*/ true); // ok
}
void process(String name, int id, boolean verbose) {
// ...
}
```
or to call the method on a different instance:
```java
class Delegate implements Processor {
Processor delegate;
void process(String name, int id) {
process(name, id); // error
delegate.process(name, id); // ok
}
}
```