Android编程新手。获得关注错误。
04-07 14:49:05.452: ERROR/AndroidRuntime(1566): FATAL EXCEPTION: main
java.lang.OutOfMemoryError
at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:94)
at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:145)
at java.lang.StringBuilder.append(StringBuilder.java:216)
at com.myapp.StartupActivity.onListItemClick(StartupActivity.java:87)
at android.app.ListActivity$2.onItemClick(ListActivity.java:319)
at android.widget.AdapterView.performItemClick(AdapterView.java:292)
at android.widget.AbsListView.performItemClick(AbsListView.java:1058)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:2514)
at android.widget.AbsListView$1.run(AbsListView.java:3168)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4340)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
使用标签布局,有三个用于控制标签的活动。我想我跨越了可用于我的应用程序的内存堆。有人告诉我当你离开标签时如何销毁物品?以下代码发生错误。
String separator = "|"
String myString = "";
for(String string : Mylist)
{
myString += myString + string + separator;
}
答案 0 :(得分:1)
尝试String separator = "\\|"
而是String separator = "|"
使用java使用管道符号时出现问题,或者您可以使用Pattern.quote("|")
<强> @Qerub 强> 值得注意的是,只有在将表达式字符串编译到java代码中时才需要双斜杠。
Java 编译器需要一个斜杠,以便它在表达式String对象中存储一个文字斜杠。这不是正则表达式所特有的,所有在类文件中编译的Java字符串都以这种方式工作。如果要在已编译的类文件中的String中使用一个斜杠,请在Java源代码中键入两个斜杠。
如果正则表达式在运行时传递到Java程序 - 通过命令行参数或属性值 - 则不需要第一个斜杠。
正则表达式解析器需要另一个斜杠,以便将管道视为文字字符。表达式解析器不关心字符串是编译到类文件中还是在运行时提供。
Source code: \\|
which compiles to...
Class file: \|
现在由正则表达式解析器读取为...
表达式解析器视为:|
虽然我们在split()中使用了它,但它被视为 alteration ,这意味着字符串被每个字符分开
源代码:“查询”
"query".split("|")
给出结果
q
u
e
r
y