mirror of https://github.com/apache/lucene.git
LUCENE-7743: Avoid calling new String(String).
This commit is contained in:
parent
12d8de86f1
commit
a0a6c22c34
|
@ -90,6 +90,9 @@ Other
|
|||
* LUCENE-7751: Avoid boxing primitives only to call compareTo.
|
||||
(Daniel Jelinski via Adrien Grand)
|
||||
|
||||
* LUCENE-7743: Never call new String(String).
|
||||
(Daniel Jelinski via Adrien Grand)
|
||||
|
||||
======================= Lucene 6.5.0 =======================
|
||||
|
||||
API Changes
|
||||
|
|
|
@ -516,7 +516,7 @@ public class TernaryTree implements Cloneable {
|
|||
|
||||
@Override
|
||||
public String nextElement() {
|
||||
String res = new String(curkey);
|
||||
String res = curkey;
|
||||
cur = up();
|
||||
run();
|
||||
return res;
|
||||
|
|
|
@ -24,16 +24,16 @@ import org.apache.lucene.analysis.cn.smart.hhmm.SegTokenFilter; // for javadoc
|
|||
*/
|
||||
public class Utility {
|
||||
|
||||
public static final char[] STRING_CHAR_ARRAY = new String("未##串")
|
||||
public static final char[] STRING_CHAR_ARRAY = "未##串"
|
||||
.toCharArray();
|
||||
|
||||
public static final char[] NUMBER_CHAR_ARRAY = new String("未##数")
|
||||
public static final char[] NUMBER_CHAR_ARRAY = "未##数"
|
||||
.toCharArray();
|
||||
|
||||
public static final char[] START_CHAR_ARRAY = new String("始##始")
|
||||
public static final char[] START_CHAR_ARRAY = "始##始"
|
||||
.toCharArray();
|
||||
|
||||
public static final char[] END_CHAR_ARRAY = new String("末##末").toCharArray();
|
||||
public static final char[] END_CHAR_ARRAY = "末##末".toCharArray();
|
||||
|
||||
/**
|
||||
* Delimiters will be filtered to this character by {@link SegTokenFilter}
|
||||
|
|
|
@ -1154,7 +1154,7 @@ public class TestIndexWriter extends LuceneTestCase {
|
|||
t.finish = true;
|
||||
t.join();
|
||||
if (t.failed) {
|
||||
fail(new String(t.bytesLog.toString("UTF-8")));
|
||||
fail(t.bytesLog.toString("UTF-8"));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ import java.util.Random;
|
|||
|
||||
public class TestRamUsageEstimator extends LuceneTestCase {
|
||||
public void testSanity() {
|
||||
assertTrue(sizeOf(new String("test string")) > shallowSizeOfInstance(String.class));
|
||||
assertTrue(sizeOf("test string") > shallowSizeOfInstance(String.class));
|
||||
|
||||
Holder holder = new Holder();
|
||||
holder.holder = new Holder("string2", 5000L);
|
||||
|
@ -37,9 +37,9 @@ public class TestRamUsageEstimator extends LuceneTestCase {
|
|||
shallowSizeOfInstance(Holder.class) == shallowSizeOfInstance(HolderSubclass2.class));
|
||||
|
||||
String[] strings = new String[] {
|
||||
new String("test string"),
|
||||
new String("hollow"),
|
||||
new String("catchmaster")
|
||||
"test string",
|
||||
"hollow",
|
||||
"catchmaster"
|
||||
};
|
||||
assertTrue(sizeOf(strings) > shallowSizeOf(strings));
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ public class AbstractDIHCacheTestCase {
|
|||
@Before
|
||||
public void setup() {
|
||||
try {
|
||||
APPLE = new SerialClob(new String("Apples grow on trees and they are good to eat.").toCharArray());
|
||||
APPLE = new SerialClob("Apples grow on trees and they are good to eat.".toCharArray());
|
||||
} catch (SQLException sqe) {
|
||||
Assert.fail("Could not Set up Test");
|
||||
}
|
||||
|
|
|
@ -733,9 +733,8 @@ public class DefaultSolrHighlighter extends SolrHighlighter implements PluginInf
|
|||
if( alternateFieldLen <= 0 ){
|
||||
altList.add(encoder.encodeText(altText));
|
||||
} else{
|
||||
//note: seemingly redundant new String(...) releases memory to the larger text. But is copying better?
|
||||
altList.add( len + altText.length() > alternateFieldLen ?
|
||||
encoder.encodeText(new String(altText.substring( 0, alternateFieldLen - len ))) :
|
||||
encoder.encodeText(altText.substring(0, alternateFieldLen - len)) :
|
||||
encoder.encodeText(altText) );
|
||||
len += altText.length();
|
||||
if( len >= alternateFieldLen ) break;
|
||||
|
|
|
@ -272,7 +272,7 @@ public class ZkCLITest extends SolrTestCaseJ4 {
|
|||
@Test
|
||||
public void testGet() throws Exception {
|
||||
String getNode = "/getNode";
|
||||
byte [] data = new String("getNode-data").getBytes(StandardCharsets.UTF_8);
|
||||
byte [] data = "getNode-data".getBytes(StandardCharsets.UTF_8);
|
||||
this.zkClient.create(getNode, data, CreateMode.PERSISTENT, true);
|
||||
String[] args = new String[] {"-zkhost", zkServer.getZkAddress(), "-cmd",
|
||||
"get", getNode};
|
||||
|
@ -284,7 +284,7 @@ public class ZkCLITest extends SolrTestCaseJ4 {
|
|||
File tmpDir = createTempDir().toFile();
|
||||
|
||||
String getNode = "/getFileNode";
|
||||
byte [] data = new String("getFileNode-data").getBytes(StandardCharsets.UTF_8);
|
||||
byte [] data = "getFileNode-data".getBytes(StandardCharsets.UTF_8);
|
||||
this.zkClient.create(getNode, data, CreateMode.PERSISTENT, true);
|
||||
|
||||
File file = new File(tmpDir,
|
||||
|
|
|
@ -79,7 +79,7 @@ public class TestSolrQueryResponse extends LuceneTestCase {
|
|||
final SolrQueryResponse response = new SolrQueryResponse();
|
||||
assertEquals("response initial value", null, response.getResponse());
|
||||
final Object newValue = (random().nextBoolean()
|
||||
? (random().nextBoolean() ? new String("answer") : new Integer(42)) : null);
|
||||
? (random().nextBoolean() ? "answer" : Integer.valueOf(42)) : null);
|
||||
response.addResponse(newValue);
|
||||
assertEquals("response new value", newValue, response.getResponse());
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ import org.apache.solr.search.QParser;
|
|||
public class TrieIntPrefixActsAsRangeQueryFieldType extends TrieIntField {
|
||||
|
||||
public Query getPrefixQuery(QParser parser, SchemaField sf, String termStr) {
|
||||
return getRangeQuery(parser, sf, termStr, new String(Integer.MAX_VALUE + ""), true, false);
|
||||
return getRangeQuery(parser, sf, termStr, Integer.MAX_VALUE + "", true, false);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue