У меня есть следующий класс 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 и приводит к бесконечному циклу.
Есть ли способ, которым я могу создать только ОДНУ переменную для всего класса? Мне пришлось поместить его в конструктор, поскольку в классах 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-above-error) –
Это все еще не решает мою проблему – Techs