gpt4 book ai didi

java - 是否可以使用相同的方法返回一个字符串然后清除它?

转载 作者:行者123 更新时间:2023-12-02 07:42:12 25 4
gpt4 key购买 nike

就像标题所说,我想知道你是否可以说创建一个 Getter,并在退出方法之前以相同的方法清除它。

示例:

public StringBuffer Answer = new StringBuffer();

public synchronized String getAnswer() {
synchronized(Answer) {
return Answer.toString();
// Clear Anwser here?
}
}

编辑

示例 2:使用 Try 和 Finaly block :

public synchronized String getAnswer() {
synchronized(Answer) {
try{
return Answer.toString();
}finally{
Answer.delete(0, Answer.length());
}
}
}

最佳答案

当然可以,只需创建一个临时变量来保存您想要返回的字符串。

public StringBuffer answer = new StringBuffer();

public synchronized String getAnswer() {
synchronized(answer) {
String returnValue = answer.toString();
answer.setLength(0); // clear the buffer.
return returnValue;
}
}

请注意,我将 Answer 更改为 answer。在大多数编程语言中,变量以小写字符开头是一种常见约定。

还可以考虑使用StringBuilder,它不是同步的,这使得它比 StringBuffer 快一点。

关于java - 是否可以使用相同的方法返回一个字符串然后清除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11440957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com