私は、次のJavaScriptクラスを持っている:最大コールスタックのサイズを超えて - 無限ループ
class TrieNode
{
constructor()
{
switch(arguments.length)
{
case 0 : this.constructorNoParam();
break;
case 1 : this.constructorOneParam(arguments[0]);
break;
}
}
constructorOneParam(c)
{
this.children=new TrieNode();
this.c = c;
this.isLeaf;
}
constructorNoParam()
{
this.children = new TrieNode();
this.c;
this.isLeaf;
}
}
私はこのエラーを取得していた理由は、私はchildren
変数を作成していますたびに、コンストラクタはの別のインスタンスを作成することですTrieNodeクラスを呼び出すと、無限ループになります。
クラス全体で1つの変数しか作成できない方法はありますか? JavaScriptクラスでは、変数は関数内でのみ作成できるため、コンストラクタに入れなければなりませんでした。
基本的に、私が達成したいことはJavaで次のようになります。
public class TrieNode {
public char c;
TrieNode children = new TrieNode();
public boolean isLeaf;
public TrieNode() {}
public TrieNode(char c){
this.c = c;
}
おかげ
[最大コールスタックサイズはエラー超過]の可能な重複(http://stackoverflow.com/questions/ 6095530/maximum-call-stack-size-exceeded-error) –
これでも問題は解決しません – Techs