// 錯誤:使用 /n 而非 \n
textView.setText("姓名:張三/n性別:男/n電話:13800000000");
StringBuilder sb = new StringBuilder();
sb.append("姓名:張三").append("\n");
sb.append("性別:男").append("\n");
sb.append("電話:13800000000");
textView.setText(sb.toString());
<!-- res/values/strings.xml -->
<string name="user_info">姓名:%1$s\n性別:%2$s\n電話:%3$s</string>
<!-- Java -->
String info = getString(R.string.user_info, "張三", "男", "13800000000");
textView.setText(info);
字符串拼接
+會產生大量中間 String 對象,StringBuilder內部可擴容字符數組,單線程下性能優於StringBuffer,編譯器優化也優先識別它。詳見:String vs StringBuilder 深度解析
<TextView
android:id="@+id/tv_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:lineSpacingMultiplier="1.2"
android:fontFamily="monospace"
android:textSize="16sp" />