作者gasbomb (虚空雷神兽)
看板mud
标题[心得] 从0开始 3.5 字串串接与回圈
时间Thu Dec 5 16:35:06 2019
虽然在 java 中串接字串很简单, 只要一直 + 就可以了
但是在回圈还是要避免使用 + 来串接字串
为什麽呢?
在之前的范例我们曾经写下这种程式码
pm.forEach((k, v) -> v.write("【闲聊】" + playerName + "说:" + input));
其实 + 是 java compiler 提供的语法糖
真正的程式展开之後是这样的
pm.forEach((k, v) -> v.write(new StringBuilder.append("【闲聊】")
.append(playerName)
.append("说:")
.append(input)
.toString()));
今天线上有 n 个使用者, 就要 new n 个 StringBuilder
虽然在这个年代 MUD 有几十个人上线就很多了
不过养成良好习惯还是很重要的, 所以在回圈内串接字串时可以思考看看
有没有机会在回圈外先把字串接好
像上面的例子就可以改成这样写
String message = "【闲聊】" + playerName + "说:" + input;
pm.forEach((k, v) -> v.write(message));
--
╔═◢ ◣═╦╦═════╦═════╗
║
◤◤◤ ◥ ╠╣
飞鸟ももこ╠═╗ ║
║ ▇ ▇ ║╚═════╝ ╚═╦═╣
║ ▌ ● ● ▌ ║╔══════╗╔═╩═╣
║
◤ ◥
︺█◤
◥╠╣
Momoko Asuka╠╝ ║
╚◣◢ ▄▂▄ ◣◢╩╩══════╩════╝
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 211.72.253.40 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/mud/M.1575534909.A.BE1.html
1F:→ kruz : 你的顺序看起来跟以前es2 driver差 73.162.174.153 12/06 03:10
2F:→ kruz : 不多 除了用的语言不同. 73.162.174.153 12/06 03:11
3F:→ kruz : 这个年代要让人multi.多人才好玩 XD 73.162.174.153 12/06 03:12
4F:→ laechan : 其实可以从这个阶段开始就导入文字 114.33.66.104 12/06 11:53
5F:→ laechan : 以外的元素,让它一开始就具备多媒体 114.33.66.104 12/06 11:53
6F:→ laechan : 的呈现功能,以这个为前提去设计看看 114.33.66.104 12/06 11:54