相关疑难解决方法(0)

堆栈是否从Java中的深度递归中溢出?

在使用函数式语言之后,我开始在Java中使用更多的递归 - 但是语言似乎有一个相对较浅的调用堆栈,大约1000.

有没有办法让调用堆栈更大?就像在Erlang中一样,我可以创建数百万次调用的函数吗?

当我做项目欧拉问题时,我越来越注意到这一点.

谢谢.

java stack functional-programming overflow

51
推荐指数
7
解决办法
5万
查看次数

afterTextChanged崩溃

我尝试实现Textwatcher接口,但尝试更改中的文本afterTextChanged(),但它崩溃了。为什么会崩溃?:

        @Override
        public void afterTextChanged(Editable s) {
            Editable myText;

            if(s.toString().contains("hi")){
                myText = s.append(" ho");
                myEdit.setText(myText);

            }
        }
Run Code Online (Sandbox Code Playgroud)

Logcat

01-27 01:23:18.213: E/AndroidRuntime(2563): FATAL EXCEPTION: main
01-27 01:23:18.213: E/AndroidRuntime(2563): java.lang.StackOverflowError
01-27 01:23:18.213: E/AndroidRuntime(2563):     at android.graphics.Paint.getTextRunAdvances(Paint.java:1720)
01-27 01:23:18.213: E/AndroidRuntime(2563):     at android.text.MeasuredText.addStyleRun(MeasuredText.java:164)
01-27 01:23:18.213: E/AndroidRuntime(2563):     at android.text.MeasuredText.addStyleRun(MeasuredText.java:204)
01-27 01:23:18.213: E/AndroidRuntime(2563):     at android.text.StaticLayout.generate(StaticLayout.java:281)
01-27 01:23:18.213: E/AndroidRuntime(2563):     at android.text.DynamicLayout.reflow(DynamicLayout.java:284)
01-27 01:23:18.213: E/AndroidRuntime(2563):     at android.text.DynamicLayout.access$000(DynamicLayout.java:35)
01-27 01:23:18.213: E/AndroidRuntime(2563):     at android.text.DynamicLayout$ChangeWatcher.reflow(DynamicLayout.java:621)
01-27 01:23:18.213: E/AndroidRuntime(2563):     at android.text.DynamicLayout$ChangeWatcher.onTextChanged(DynamicLayout.java:631)
01-27 01:23:18.213: E/AndroidRuntime(2563):     at android.text.SpannableStringBuilder.sendTextChanged(SpannableStringBuilder.java:962)
01-27 01:23:18.213: E/AndroidRuntime(2563):     at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:496) …
Run Code Online (Sandbox Code Playgroud)

android textwatcher

2
推荐指数
1
解决办法
2971
查看次数