Java 两个方法彼此调用导致java.lang.StackOverflowError
来源:互联网 发布:怎么添加usb001端口 编辑:程序博客网 时间:2024/06/05 08:53
在我自己的Vector类中有一个构造方法:
public Vector(float[] vector) {this.vector = vector;this.length = vector.length;this.size = VectorUtil.computeVectorSize(vector);}这个构造方法调用VectorUtil的computeVectorSize(float[] vector)方法来计算向量的长度,computeVectorSize(float[] vector)方法如下:
public static float computeVectorSize(float[] vector) {Vector vector2 = new Vector(vector);return computeVectorSize(vector2);}因为之前已经写了一个通过传入的Vector对象计算向量长度的方法,所以这里直接用数组构造了一个Vector对象,然后传给另一个方法来计算向量长度。一切看似合理,但是就这样就导致了循环调用:Vector(float[] vector)方法调用computeVectorSize(float[] vector)方法,computeVectorSize(float[] vector)方法调用Vector(float[] vector)方法,Vector(float[] vector)又调用computeVectorSize(float[] vector)...。然后导致了java.lang.StackOverflowError异常。
所以,平时写代码,要注意方法的循环调用。
1 0
- Java 两个方法彼此调用导致java.lang.StackOverflowError
- java.lang.StackOverflowError翻译
- java.lang.StackOverflowError
- java.lang.StackOverflowError Exception
- java.lang.StackOverflowError
- java.lang.StackOverflowError
- java.lang.StackOverflowError
- java.lang.StackOverflowError
- Java.lang.StackOverflowError
- java.lang.StackOverflowError
- java.lang.StackOverflowError
- java.lang.StackOverflowError
- java.lang.StackOverflowError
- java.lang.StackOverflowError
- Android java.lang.StackOverflowError
- java.lang.StackOverflowError
- 异常:java.lang.StackOverflowError
- java.lang.StackOverflowError错误
- 回文数 找最长回文子串
- 小白学Python(三) 几个简单的函数
- 回文数 找第n个回文数
- Number of Islands
- Java中的50个关键字
- Java 两个方法彼此调用导致java.lang.StackOverflowError
- NOJ2101 7_密码强度(水模拟题)
- Android Studio轻松上手指南
- 迪卡斯特拉算法
- 使用PHP和HTML5 FormData实现无刷新文件上传教程
- Android运行时ART简要介绍和学习计划
- django1.8 view(5): view decorators
- OpenGL图元
- android自定义回调接口