タグ

JavaとStringに関するchess-newsのブックマーク (4)

  • Stringの連結はそう簡単なものではない - かとじゅんの技術日誌

    追記: 指摘の通りで、現実的な連結回数での計測でもないですし、統計手法を用いた分析をしていないので、このエントリの計測値は当てにしないでください。なので以下のブログを参考にしてください。 currentTimeMillis()で計測しておいて plusTime:14780, concatTime:7053, sbuilderTime:7, sbufferTime:13 とか、その7とか13の有効数字はいくつだっての。 激しく今更感があるタイトルですが(;・∀・) 昔に取り上げたのですが、 文字列の結合をやるからといって、すぐにStringの+をつかってはいけない - じゅんいち☆かとうの技術日誌 Stringの+演算子は間違った使い方するとパフォーマンスが低下しますよっていう話題。若干ネタ成分ありますが、ご容赦ください。 これ系の話題は自分的にはオワコンなんですが、最近、また話題を見つけた

    Stringの連結はそう簡単なものではない - かとじゅんの技術日誌
  • JavaのStringについて - Qiita

    JavaのStringについてまとめます。 Stringとは 文字列を扱うクラスです。結合を加算と同様の感覚で行えるため、C言語から移った人だと感動するかもしれません。 public class Test { public static void main(String[] args) { String a = "aaa"; a += "bbb"; a += "ccc"; System.out.println(a); } } Stringは不変オブジェクト 見た目上は結合を加算と同様に行えるStringですが、実は裏ではオブジェクトを作り直すという処理を行っています。これはStringが内容を変更できない不変オブジェクト (イミュータブルなオブジェクト) の一種だからです。先ほどの例だと、次のような処理を行っていることになります。 public class Test { public st

    JavaのStringについて - Qiita
  • 【Java】public static void main(String[] args)とは何か - TASK NOTES

    Javaを勉強し始めた時にまず最初に目にするpublic static void main(String[] args)という一文ですが、何となく決まり事なんだという程度で書いていたと思います。 Javaに慣れてきた段階であらためて考えると、色々見えてくることもありますので少しだけ内容を追ってみます。 Javaの入門書などでまず最初に実行するのが以下のような HelloWorld! を出力するプログラムですね。 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } 実行すると以下のようになります。 $ javac HelloWorld.java $ java HelloWorld Hello World! なぜ HelloWorld

    【Java】public static void main(String[] args)とは何か - TASK NOTES
  • StringBuilderを使ったクソコードはどこまで遅いか - きしだのHatena

    ※ 4/9 11:25 いろいろ計測しなおしてます。こちらも参照 Javaで文字列連結する場合には+演算子よりもStringBuilderを使うべき、という話があるのですが、よく sb.append("[" + data + "]"); みたいなコードをみかけて、あんまり意味ないなーと思ったりします。 あと、 sb.append("title:"); sb.append("[" + data + "]"); みたいに、+演算子を使った一行の式にして sb = "title:" + "[" + data + "]"; としておけば「title:」と「[」はコンパイル時点で最適化されたのに、ってコードもあります。 ということでTwitterJavaでの文字列連結は+を使うべき、ってやったほうが、StringBuilder使ったsb.append("[" + data + "]")みたいなク

    StringBuilderを使ったクソコードはどこまで遅いか - きしだのHatena
  • 1