Skip to content

Use StringBuilder instead of StringBuffer #1115

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 30, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -563,7 +563,7 @@ else if (gender.equals("FEMALE"))
}

String sentToString(CoreMap sentence) {
StringBuffer os = new StringBuffer();
StringBuilder os = new StringBuilder();
List<CoreLabel> tokens = sentence.get(TokensAnnotation.class);
if(tokens != null){
boolean first = true;
Expand Down
24 changes: 12 additions & 12 deletions src/edu/stanford/nlp/ie/machinereading/common/SimpleTokenize.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@

package edu.stanford.nlp.ie.machinereading.common;
import edu.stanford.nlp.util.logging.Redwood;

import java.util.ArrayList;
import java.util.StringTokenizer;

import edu.stanford.nlp.util.logging.Redwood;

/**
* Simple string tokenization
*/
Expand Down Expand Up @@ -52,19 +52,19 @@ private static int findWhitespace(String s, int start) {
}

/**
* Replaces all occurences of \" with "
* Replaces all occurrences of \" with "
*/
private static String normalizeQuotes(String str) {
StringBuffer buffer = new StringBuffer();
StringBuilder builder = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
// do not include \ if followed by "
if (str.charAt(i) == '\\' && i < str.length() - 1 && str.charAt(i + 1) == '\"') {
continue;
} else {
buffer.append(str.charAt(i));
builder.append(str.charAt(i));
}
}
return buffer.toString();
return builder.toString();
}

/**
Expand Down Expand Up @@ -121,15 +121,15 @@ public static ArrayList<String> tokenizeWithQuotes(String line) {
* \
*/
public static String quotify(String str) {
StringBuffer buffer = new StringBuffer();
buffer.append('\"');
StringBuilder builder = new StringBuilder();
builder.append('\"');
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == '\"')
buffer.append('\\');
buffer.append(str.charAt(i));
builder.append('\\');
builder.append(str.charAt(i));
}
buffer.append('\"');
return buffer.toString();
builder.append('\"');
return builder.toString();
}

/** Implements a simple test */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ private List<CoreMap> readDocument(String prefix, Annotation corpus) throws IOEx
/*
for (int sentenceIndex = 0; sentenceIndex < aceDocument.getSentenceCount(); sentenceIndex++) {
List<AceToken> tokens = aceDocument.getSentence(sentenceIndex);
StringBuffer b = new StringBuffer();
StringBuilder b = new StringBuilder();
for(AceToken t: tokens) b.append(t.getLiteral() + " " );
logger.info("SENTENCE: " + b.toString());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,27 +40,27 @@ public AceCharSeq(String text, int start, int end) {
}

public String toXml(String label, int offset) {
StringBuffer buffer = new StringBuffer();
AceElement.appendOffset(buffer, offset);
buffer.append('<').append(label).append(">\n");

AceElement.appendOffset(buffer, offset + 2);
buffer.append("<charseq START=\"").append(mByteOffset.start()).append("\" END=\"").append(mByteOffset.end()).append("\">");
buffer.append(mText).append("</charseq>");
buffer.append('\n');

AceElement.appendOffset(buffer, offset);
buffer.append("</").append(label).append('>');
return buffer.toString();
StringBuilder builder = new StringBuilder();
AceElement.appendOffset(builder, offset);
builder.append('<').append(label).append(">\n");

AceElement.appendOffset(builder, offset + 2);
builder.append("<charseq START=\"").append(mByteOffset.start()).append("\" END=\"").append(mByteOffset.end()).append("\">");
builder.append(mText).append("</charseq>");
builder.append('\n');

AceElement.appendOffset(builder, offset);
builder.append("</").append(label).append('>');
return builder.toString();
}

public String toXml(int offset) {
StringBuffer buffer = new StringBuffer();
StringBuilder builder = new StringBuilder();

AceElement.appendOffset(buffer, offset + 2);
buffer.append("<charseq START=\"").append(mByteOffset.start()).append("\" END=\"").append(mByteOffset.end()).append("\">");
buffer.append(mText).append("</charseq>");
return buffer.toString();
AceElement.appendOffset(builder, offset + 2);
builder.append("<charseq START=\"").append(mByteOffset.start()).append("\" END=\"").append(mByteOffset.end()).append("\">");
builder.append(mText).append("</charseq>");
return builder.toString();
}

public String getText() {
Expand Down Expand Up @@ -162,9 +162,9 @@ public String toString() {

/*
* private AceToken makePhrase(Vector<AceToken> tokens, Span span) {
* StringBuffer word = new StringBuffer(); StringBuffer lemma = new
* StringBuffer(); StringBuffer pos = new StringBuffer(); StringBuffer chunk =
* new StringBuffer(); StringBuffer nerc = new StringBuffer();
* StringBuilder word = new StringBuilder(); StringBuilder lemma = new
* StringBuilder(); StringBuilder pos = new StringBuilder(); StringBuilder chunk =
* new StringBuilder(); StringBuilder nerc = new StringBuilder();
*
* for(int i = span.mStart; i <= span.mEnd; i ++){ if(i > span.mStart){
* word.append("_"); lemma.append("_"); pos.append("_"); chunk.append("_");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -229,48 +229,48 @@ public String toString() {
}

public String toXml(int offset) {
StringBuffer buffer = new StringBuffer();
appendOffset(buffer, offset);
buffer.append("<?xml version=\"1.0\"?>\n");
appendOffset(buffer, offset);
buffer.append("<!DOCTYPE source_file SYSTEM \"apf.v5.1.2.dtd\">\n");
appendOffset(buffer, offset);
buffer.append("<source_file URI=\"" + mId + ".sgm\" SOURCE=\"" + mSource
StringBuilder builder = new StringBuilder();
appendOffset(builder, offset);
builder.append("<?xml version=\"1.0\"?>\n");
appendOffset(builder, offset);
builder.append("<!DOCTYPE source_file SYSTEM \"apf.v5.1.2.dtd\">\n");
appendOffset(builder, offset);
builder.append("<source_file URI=\"" + mId + ".sgm\" SOURCE=\"" + mSource
+ "\" TYPE=\"text\" AUTHOR=\"LDC\" ENCODING=\"UTF-8\">\n");
appendOffset(buffer, offset);
buffer.append("<document DOCID=\"" + getId() + "\">\n");
appendOffset(builder, offset);
builder.append("<document DOCID=\"" + getId() + "\">\n");

// display all entities
Set<String> entKeys = mEntities.keySet();
for (String key : entKeys) {
AceEntity e = mEntities.get(key);
buffer.append(e.toXml(offset));
buffer.append("\n");
builder.append(e.toXml(offset));
builder.append("\n");
}

// display all relations
Set<String> relKeys = mRelations.keySet();
for (String key : relKeys) {
AceRelation r = mRelations.get(key);
if (!r.getType().equals(AceRelation.NIL_LABEL)) {
buffer.append(r.toXml(offset));
buffer.append("\n");
builder.append(r.toXml(offset));
builder.append("\n");
}
}

// TODO: display all events

appendOffset(buffer, offset);
buffer.append("</document>\n");
appendOffset(buffer, offset);
buffer.append("</source_file>\n");
return buffer.toString();
appendOffset(builder, offset);
builder.append("</document>\n");
appendOffset(builder, offset);
builder.append("</source_file>\n");
return builder.toString();
}

private String tokensWithByteSpan(int start, int end) {
StringBuffer buf = new StringBuffer();
StringBuilder builder = new StringBuilder();
boolean doPrint = false;
buf.append("...");
builder.append("...");
for (AceToken mToken : mTokens) {
// start printing
if (doPrint == false && mToken.getByteOffset().start() > start - 20
Expand All @@ -284,11 +284,11 @@ else if (doPrint == true && mToken.getByteOffset().start() > end + 20) {
}

if (doPrint) {
buf.append(" " + mToken.display());
builder.append(" " + mToken.display());
}
}
buf.append("...");
return buf.toString();
builder.append("...");
return builder.toString();
}

/**
Expand Down Expand Up @@ -751,11 +751,11 @@ public int countCommas(int start, int end) {

private void readRawBytes(String fileName) throws IOException {
BufferedReader in = new BufferedReader(new FileReader(fileName));
StringBuffer buf = new StringBuffer();
StringBuilder builder = new StringBuilder();
int c;
while ((c = in.read()) >= 0)
buf.append((char) c);
mRawBuffer = buf.toString();
builder.append((char) c);
mRawBuffer = builder.toString();
// System.out.println(mRawBuffer);
in.close();
}
Expand Down Expand Up @@ -826,7 +826,7 @@ private void readPredictedEntityBoundaries(BufferedReader is) throws java.io.IOE

public AceCharSeq makeCharSeq(int startToken, int endToken) {
/*
* StringBuffer buf = new StringBuffer(); for(int i = startToken; i <
* StringBuilder buf = new StringBuilder(); for(int i = startToken; i <
* endToken; i ++){ if(i > startToken) buf.append(" ");
* buf.append(mTokens.get(i).getLiteral()); }
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,10 @@ public AceElement(String id) {

public String getId() { return mId; }

// todo [cdm 2014]: Change this to using StringBuilder or Appendable or similar
public static void appendOffset(StringBuffer buffer,
public static void appendOffset(StringBuilder builder,
int offset) {
for(int i = 0; i < offset; i ++){
buffer.append(' ');
builder.append(' ');
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public void addMention(AceEntityMention m) {
public String getClasss() { return mClass; }

public String toXml(int offset) {
StringBuffer buffer = new StringBuffer();
StringBuilder buffer = new StringBuilder();
appendOffset(buffer, offset);
buffer.append("<entity ID=\"" + getId() + "\" TYPE =\"" +
AceToken.OTHERS.get(mType) +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ public List<AceEventMention> getEventMentions() {
}

public String toXml(int offset) {
StringBuffer buffer = new StringBuffer();
StringBuilder buffer = new StringBuilder();
String mentionType = mType;

appendOffset(buffer, offset);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,24 @@ public AceMentionArgument(String role,
public String getRole() { return mRole; }

public String toXml(int offset) {
StringBuffer buffer = new StringBuffer();
AceElement.appendOffset(buffer, offset);
buffer.append("<" + mentionType + "_mention_argument REFID=\"" + mContent.getId() +
StringBuilder builder = new StringBuilder();
AceElement.appendOffset(builder, offset);
builder.append("<" + mentionType + "_mention_argument REFID=\"" + mContent.getId() +
"\" ROLE=\"" + mRole + "\">\n");


//buffer.append(getContent().toXml(offset + 2));
AceCharSeq ext = getContent().getExtent();
buffer.append(ext.toXml("extent", offset + 2));
buffer.append("\n");
builder.append(ext.toXml("extent", offset + 2));
builder.append("\n");

AceElement.appendOffset(buffer, offset);
buffer.append("</" + mentionType + "_mention_argument>");
return buffer.toString();
AceElement.appendOffset(builder, offset);
builder.append("</" + mentionType + "_mention_argument>");
return builder.toString();
}

public String toXmlShort(int offset) {
StringBuffer buffer = new StringBuffer();
StringBuilder buffer = new StringBuilder();
AceElement.appendOffset(buffer, offset);
buffer.append("<" + mentionType + "_argument REFID=\"" +
mContent.getParent().getId() +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public AceRelationMention getMention(int which) {
public void setSubtype(String s) { mSubtype = s; }

public String toXml(int offset) {
StringBuffer buffer = new StringBuffer();
StringBuilder buffer = new StringBuilder();
appendOffset(buffer, offset);
buffer.append("<relation ID=\"" + getId() + "\" TYPE =\"" + mType +
"\" SUBTYPE=\"" + mSubtype + "\" MODALITY=\"" + mModality +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,28 +74,28 @@ public int getMaxTokenEnd() {
}

public String toXml(int offset) {
StringBuffer buffer = new StringBuffer();
appendOffset(buffer, offset);
buffer.append("<relation_mention ID=\"" + getId() + "\"");
StringBuilder builder = new StringBuilder();
appendOffset(builder, offset);
builder.append("<relation_mention ID=\"" + getId() + "\"");
if(mLexicalCondition != null)
buffer.append(" LEXICALCONDITION=\"" + mLexicalCondition + "\"");
buffer.append(">\n");
builder.append(" LEXICALCONDITION=\"" + mLexicalCondition + "\"");
builder.append(">\n");

buffer.append(mExtent.toXml("extent", offset + 2));
buffer.append("\n");
builder.append(mExtent.toXml("extent", offset + 2));
builder.append("\n");

AceRelationMentionArgument arg1 = getArgs()[0];
AceRelationMentionArgument arg2 = getArgs()[1];
if(arg1.getRole().equals("Arg-1")){ // left to right
buffer.append(arg1.toXml(offset + 2) + "\n");
buffer.append(arg2.toXml(offset + 2) + "\n");
builder.append(arg1.toXml(offset + 2) + "\n");
builder.append(arg2.toXml(offset + 2) + "\n");
} else { // right to left
buffer.append(arg2.toXml(offset + 2) + "\n");
buffer.append(arg1.toXml(offset + 2) + "\n");
builder.append(arg2.toXml(offset + 2) + "\n");
builder.append(arg1.toXml(offset + 2) + "\n");
}

appendOffset(buffer, offset);
buffer.append("</relation_mention>");
return buffer.toString();
appendOffset(builder, offset);
builder.append("</relation_mention>");
return builder.toString();
}
}
Loading