LoginSignup
0

Stringに変換するときは何を使う?

Last updated at Posted at 2019-11-15

##Stringに直すときって結構多くない?
おおくね?
特にPrimaryKeyとかは
intとかlongのこと多いだろうけど
API通信挟むときStringになったりとかするだろうし

ってことで変換はString.valueOfObject.toStringですかね

.java
package test;

import java.util.stream.Collectors;
import java.util.stream.IntStream;

/**
 * test
 *
 * @author me
 *
 */
public class Test1 {

	/**
	 * main
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println("-------計測開始-------");
		Long start1 = System.currentTimeMillis();
		run1();
		Long end1 = System.currentTimeMillis();
		System.out.println("String.valueOf() : " + (end1 - start1) + "ms");
		Long start2 = System.currentTimeMillis();
		run2();
		Long end2 = System.currentTimeMillis();
		System.out.println("Object.toString() : " + (end2 - start2) + "ms");
		System.out.println("-------計測終了-------");
	}

	/**
	 * {@link String#valueOf()}
	 */
	private static void run1() {
		IntStream.range(0, 5000000).boxed().map(String::valueOf).collect(Collectors.toList());
	}
	/**
	 * {@link Object#toString()}
	 */
	private static void run2() {
		IntStream.range(0, 5000000).boxed().map(Object::toString).collect(Collectors.toList());
	}

}

-------計測開始-------
String.valueOf() : 2024ms
Object.toString() : 904ms
-------計測終了-------

え、そんなちがうんだ...

まぁObject.toStringはプリミティブ型に使えないし、うーんって感じだ...

ちなみに

.java
package test;

import java.util.stream.Collectors;
import java.util.stream.IntStream;

/**
 * test
 *
 * @author me
 *
 */
public class TestT {

	/**
	 * main
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println("-------計測開始-------");
		Long start1 = System.currentTimeMillis();
		run1();
		Long end1 = System.currentTimeMillis();
		System.out.println((end1 - start1) + "ms");
		System.out.println("-------計測終了-------");
	}

	/**
	 * いいのこれ?
	 */
	private static void run1() {
		IntStream.range(0, 5000000).boxed().map(v -> v + "").collect(Collectors.toList());
	}

}
-------計測開始-------
3021ms
-------計測終了-------

だめですねw

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0