- 1 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 23:47:15 ]
- プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド129【歓迎】 pc12.2ch.net/test/read.cgi/tech/1247322478/ 次スレは>>990あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/
- 175 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 23:09:05 ]
- >>165
インターネットオプション→詳細→Microsoft VMの項があればインストールされている。 されている場合はコマンドプロンプトからjview.exe。 JViewはXPの初期の段階で排除された。今はもうダウンロードすら出来ない。 それは踏まえてレスするがJViewのjavaの言語仕様は1.1。 それとSun Java VMとMicrosoft VMには互換性がないのでそもそもJ++が吐いたclassファイルくらいしかまともに動かない。 さらに、JViewの外部バージョンが同じでも内部バージョンが違うと動かない。 もう一つ、バージョンを完全に揃えたところでJViewがリンクするDLLのバージョンが完全に一致しなければ動かない。 んで、JViewではSwingがまともに使えないからsun java pluginを入れるんだがこの状態でアプレットを使うと変な挙動をすることがある。 その場合はアンインスコしてsun javaの JREを使う。 方法は↓ ttp://www.java.com/ja/download/help/uninstall_msvm.xml
- 176 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 23:17:42 ]
- 言い忘れた。JViewはコマンドラインインタプリタだがIEにはJViewとは別のランタイムが組み込まれててそっちの言語仕様は1.3で止まってる。どっちにしてもSwingがryなので以下略。
んでバグフィックスだけC#が出るまで密かに続いてたが今は放置されてるはず。 だからまともに動かない。
- 177 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 23:27:33 ]
- >>175
Microsoft (R) Command-line Loader for Java Version 5.00.3810 Copyright (C) Microsoft Corp 1996-2000. All rights reserved. 使用法 : JView [オプション] <クラス名> [引数] こんなのだろ?苦労してたんだな。お前
- 178 名前:165 mailto:sage [2009/08/06(木) 23:33:31 ]
- >>175
詳細な解説ありがとうございます。事情を理解できました。 手元の環境WindowsXP SP3で、 jview.exe を叩いてみましたが見つかりませんでした。 インターネットオプションから、Microsoft VMも探してみましたがありませんでした。 アプレットは、Java6で作ってから、 ランタイムのインストールを促す作りにしたいと思います。 ありがとうございました。
- 179 名前:165 mailto:sage [2009/08/06(木) 23:40:31 ]
- >>176
対応してて1.3ですか。 Javaは1.4以降しか触ったことないので残念です…。 アプレットについては、私は仕事でなく趣味なので ぜんぜん大丈夫ですが、おっしゃる互換性のなさは 仕事だと苦労が絶えなそうですね…。
- 180 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 23:45:19 ]
- そして誰も使わなくなった。よって大丈夫。
- 181 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 23:53:24 ]
- >>177
Java1.1→1.2→1.3の過程で皆通った道だが?だから今は>>180なわけだが。
- 182 名前:デフォルトの名無しさん [2009/08/06(木) 23:56:54 ]
- Microsoftアプデートで、JVMもサポートしてくれりゃいいのにな・・正直なところ。
- 183 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 00:05:23 ]
- もともとappletはアニメーションやキャンバス2Dが売り(得意)だったはず。
さらにwebアプリと同様、<form>程度ならawtのコンポーネントで十分だし別に今でも廃れてないんだが。 変なIT記事読んで流行に流されてるようなら技術というものはちゃんと勉強しないといつまでも身につかないよ。
- 184 名前:165 mailto:sage [2009/08/07(金) 00:17:13 ]
- 実は普段は流行に流されてFlashをいじっているんですが、
先ほどふと思いついて10年振り?に先行者ゲームをやりまして。 あまりの軽さに驚き、アプレット作ってみたいなと…。 こんなに軽いなら、今もっとモダンなJavaアプレットが沢山あってもいいと思うんですけどね。
- 185 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 00:22:23 ]
- >>183
アプレットの話じゃなくてMS VMの話だ。 >>184 sun自体がアプレット=Java FX、従来のアプレットの役目はJWSに徐々に移行させている。
- 186 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 00:32:01 ]
- アプレットでは有用なライブラリが無いから、開発者のうちライトユーザはflashの方に流れていった。
javafxのようにアプレットとライブラリを一緒にリリースしてたら、たぶんアプレットはサーブレット(とwebコンテナ)同様にトレンドになってたと思うけどね。 もし2D,3DやUIやイベントについてのスキルがあるなならアプレットはかなり自由度が高いよ。 いまは、javascriptとflashを使えてVBとは違った意味でUIについて多少経験があるユーザが増えたから、 アプレットはそのユーザが戻ってくることを期待して整備が進んでいる。 たとえば、appletとjsがさらに強く連携してDOMが簡単にいじれたりする。 ただ、webやappletはブラウザのJS実装に強く依存するけど、webやnetを主体としたアプリを考えてるなら、 IE以外のmozilla,chrome,operaとかの方がMSの俺様ネイティブルールがないぶん素直でいいんじゃないか。
- 187 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 00:34:24 ]
- >>185
お前はjava.applet.Appletや<applet>タグしか頭に無いのか? 旧式な奴だなw
- 188 名前:デフォルトの名無しさん [2009/08/07(金) 00:36:05 ]
- >>185
MSVMなんてもう使ってる奴いねーってw 脳味噌腐っちまってんじぇね?ww
- 189 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 00:58:26 ]
- >>187-188
こいつら同一人物か? 165からのスレの流れ読んでないし日本語理解できてないし。 >>186 mozilla系以外でLiveConnectって使えるの? IEだとActiveX ScriptでJava呼べるけどさ。
- 190 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 01:31:28 ]
- >>189
もともとお前に対してのレスじゃないだろ お前は日本語を理解できず状況把握も出来ない落ちこぼれ 一回糞まみれになって死んだほうがいいんじゃね?w
- 191 名前:デフォルトの名無しさん [2009/08/07(金) 01:47:16 ]
- 夏厨元気だな
- 192 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 01:59:57 ]
- >>189
ここは学校じゃないんだし、そういう態度のままだとこの業界では落ちこぼれになっちゃいますよ?!
- 193 名前:デフォルトの名無しさん [2009/08/07(金) 02:26:51 ]
- しかし188が文脈読めてないのは間違いないがな。
- 194 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 08:36:32 ]
- >>193
ageるなザコw
- 195 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 14:01:15 ]
- 質問なんですが、BufferedReaderのreadLine()でユーザーの入力を待っている状態で、
一定時間が過ぎたら"時間切れです"と表示させて処理を進行させたいんですが、 どうすればいいんでしょうか?
- 196 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 14:02:19 ]
- >>195
マルチスレッドで処理する
- 197 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 14:55:00 ]
- >>196
ありがとうございます。 スレッドを作って、そっちで10秒時間を計って"時間切れです"と 表示させる事はできるんですが、readLine()の入力待ち状態を強制的に終了させる方法が わかりませんでした。
- 198 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 17:26:21 ]
- >>197
データが読めなくなってから10秒後にIOException(を継承したInterruptedIOExceptionとか) を発行するようなread()を持つFilterInputStreamを作って、間にかませたらどうだ
- 199 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 18:11:13 ]
- ready() で入力があるか確認してから読めば?
- 200 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 18:23:00 ]
- 空文字列のチェック
(1)str.equals("") (2)str.length() == 0 (3)str.isEmpty ←Java6以降 (×)str == "" ←!!!間違い!!! で、(1)(2)(3)それぞれの使い方のメリット・デメリットを教えて欲しいのですが
- 201 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 18:32:12 ]
- こういうのもあるよ
(4) "".equals(str)
- 202 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 18:38:55 ]
- あるけど(4)じゃない。
- 203 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 18:49:16 ]
- うまくいかないです。そもそもうまくいうものかどうかさえわかりません。
eclipseで動的WEBプロジェクトを作成してeclipse内部のtomcatサーバを 起動して、プロジェクトエクスプローラからサーブレットのxxx.javaを 右クリックして実行すれば正常に動いてくれます。 しかし、eclipse内部TOMCATサーバを終了させて、通常のTOMCATを起動して URLを入力してアクセスするとNOTFOUNDになります。 お聞きしたいのは。一つの動的WEBプロジェクトで、 eclipse内部のTOMCA起動でもサーブレットを実行できて、 その動的WEBプロジェクトをコンテキストで参照する外部のTOMCATでも 実行できるようにするのは可能なのでしょうか。いろいろやってみましたが 外部TOMCATで動けるような構成にすればeclipse内部tomcatでは動けず、 eclipseで普通に作れば内部tomcatでは動くければ外部TOMCATでは動かない。 今思っているのは、開発用にはeclipse内部tomcatで動くようにして (テストがしやすいです)、もう一つ外部tomcatで動く別の 動的WEBプロジェクトを作って、そちらにサーブレットを公開用に持ってくる というような二重管理するしかないのかなあと思っていたりします。 みなさまは、どのような感じになっているんでしょうか?
- 204 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 18:50:04 ]
- うるさい
- 205 名前:デフォルトの名無しさん [2009/08/07(金) 19:09:05 ]
- >>203
外部のTOMCATは公開用? ふつーは開発は手元のマシンでやって、 公開用は別のマシンだぞ? ふつーは開発と公開用は別物。 それを二重管理とは言わん。
- 206 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 19:15:01 ]
- >>205
eclipse内部のtomocatと、インストールしたtomcatの違いです。 別物らしいです。
- 207 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 19:20:08 ]
- eclipseはそういう部分でもポンコツだからね
- 208 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 19:21:42 ]
- swingでボタンとかをクリックした瞬間に、イベントを発生させられます
これを任意のコードの中で発生させたいのですが、どうすればいいのですか?
- 209 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 19:22:48 ]
- 公開用サーバに配備するときは.war形式にしない?
- 210 名前:デフォルトの名無しさん [2009/08/07(金) 19:23:25 ]
- >>206
だからそのインストールしたtomcatを動かす必要がない。 公開するのであれば別のマシンでやれ。
- 211 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 19:24:30 ]
- >>208
ボタン 「とか」 って言われてもこまるけど、 JButton には doClick() メソッドがあるよ
- 212 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 19:29:41 ]
- >>211
言葉が足りませんでした。例ではswingを出しましたが、 自作イベントを作って、それを任意の場所で発生させられるか? という所が知りたい事です
- 213 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 19:34:56 ]
- >>210
eclipseで作ったプロジェクトは、あくまで開発用であるから eclipse内部のtomocatのみで開発は終始すればいいということですよね。 203に書いたことが出来ないようなので、そうしようかなあと思います ありがとうございました。
- 214 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 19:37:30 ]
- >>212
自作のXxxListenerインタフェイスを定義して、 それをaddXxxListenerメソッドで登録できるようにして、 その登録されたものを普通に呼び出すだけでは?
- 215 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 19:37:45 ]
- >>212
イベントとは何かといえば、単なるメソッドの呼び出しだ。 XxxListener の実装やそのイベントの発生元のコードを真似すればいい。
- 216 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 19:45:49 ]
- >>200
なぜ1,2で出来ることにわざわざ3を作ったか考えろ
- 217 名前:デフォルトの名無しさん [2009/08/07(金) 19:52:36 ]
- まeclipseは元来素人向けだから
その辺注意しながら使わんとね
- 218 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 20:44:49 ]
- だからIDEがらみは該当スレでやれ。アンチまで連れてくるな。
- 219 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 20:49:17 ]
- >>200->>202答えてくれる人いませんか?
- 220 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 20:51:05 ]
- いませんよアホらしい
- 221 名前:198 mailto:sage [2009/08/07(金) 20:52:52 ]
- >>197
すまん。 出来るかどうかやってみたんだが、どうも一旦 in.read() で待ちに入ってしまうと interrupt しようが close しようが戻ってこないようだ。 ポーリングするしかないのかねぇ。
- 222 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 20:55:10 ]
- >>200
1と2は間違えて str.equals(" ") str.length() == 1 としてもコンパイルエラーにならない。 3はメソッド名間違えたらコンパイルエラーになるので 間違いに気付くことができる。
- 223 名前:デフォルトの名無しさん [2009/08/07(金) 21:09:14 ]
- >>213
eclipseのtomcatでも、 インストールしたtomcatでも、 同じwebプロジェクト参照することはできるよ。 eclipseで普通に作ってから、 インストールしたtomcatで動くよう設定ファイルを書けばいい。 だけどみなさんはあまりそういうことしない。 意味がないから。
- 224 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 21:10:59 ]
- System.out.println("タムをしらんかのう タムをしらんかのう");
- 225 名前:212 mailto:sage [2009/08/07(金) 21:25:14 ]
- >>214-215
わかりました。ありがとうございます
- 226 名前:デフォルトの名無しさん [2009/08/07(金) 21:32:03 ]
- なあ、なんでEclipseみたいなくそIDEがそんなに人気あんの?
マジでわけわかめだわ。
- 227 名前:デフォルトの名無しさん [2009/08/07(金) 22:10:13 ]
- >>226
残念ながら なんでWindowsが人気あるかとか なんでMicrosoft Officeが人気あるかとか なんで今のキーボード配列が人気あるかとか そーいったレベルになっちゃったね。 デファクトスタンダードだ。 新しいプロジェクト入ったとして、 一人だけeclipseじゃなくてnet beansでやります! みたいなのが通用しないし。
- 228 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 22:13:57 ]
- Sun的にはどうなんだろうか
名前も含めてw
- 229 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 22:27:21 ]
- 名前、メールアドレス、電話番号が規則的に書いてあるテキストがあります
これを、今まではStringBuilderでちまちまとHTMLに変換してswingで表示してきました しかし、StringBuilderで結合してHTMLを作るのは大変です 何か楽をしてHTMLを作り出す方法はないでしょうか?
- 230 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 22:42:14 ]
- まて。
プログラムにやらせてるんだから、一件分の出力部分を書いてループで回す だけなんだから、大変もなにも無いと思うんだが。 強いて言えばXHTMLっていうものをググると幸せになれ・・・Swingで表示なら XSLTのほうかな?
- 231 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 22:47:06 ]
- >>230
ループはちゃんと使っています でも、目的の画面を表示するためにはHTMLをけっこう書かなきゃいけないんです(ループでは表現出来ない) だから、StringBuilderでやっていると何がなんだかてことになるわけです XHTMLで調べてみます ありがとうございました
- 232 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 22:49:54 ]
- >>226
ところどころイマイチであるところもEclipseのいいところだからなぁ
- 233 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 23:02:15 ]
- >>231
イミフ
- 234 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 23:08:42 ]
- 多分、今どきのスタイルシート頼り切りのHTML記述に染まっていないピュア
な心根の持ち主なんだよ。一つ一つ丁寧に心を込めて属性を書きました。
- 235 名前:デフォルトの名無しさん [2009/08/07(金) 23:16:45 ]
- 何か楽をしてHTMLを作り出す方法はないでしょうか?
- 236 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 23:22:47 ]
- 雛形を作っておいてreplaceする
- 237 名前:デフォルトの名無しさん [2009/08/07(金) 23:35:28 ]
- >>235
すまんがおまいさんの状況がわからん。 そんなに大変だと思えない。 HTMLが複雑なのか? Velocityなんてものがあるぞ。
- 238 名前:231 mailto:sage [2009/08/07(金) 23:55:45 ]
- >>237
>>235はオイラじゃないんだけど なんか、最近なりすましが多いな〜
- 239 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 00:17:05 ]
- なまけもの再登場w
- 240 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 00:39:10 ]
- その、楽にHTMLを作るために、属性はグループ化してスタイルシートにまとめて、
構造はXMLな元データを取り出してXSLTで変換して、という技術が作られた。 たとえば <住所録> <名前>xxx</名前><メールアドレス>xxx</メールアドレス><電話番号>xxx</電話番号> <名前>xxx</名前><メールアドレス>xxx</メールアドレス><電話番号>xxx</電話番号> ・・・・ <住所録> という感じのデータを入力として、XSLTスタイルシートで指定した任意のHTMLに 変換することができる。
- 241 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 00:43:19 ]
- >>231
HTMLがXHTMLになったって大して変わるもんじゃなさそうだが…。 個人情報を出さない程度に実際のコード一式をうpろだに出してみたらどうだ。
- 242 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 00:43:43 ]
- >>212
java.sun.com/javase/ja/6/docs/ja/api/java/awt/Component.html#dispatchEvent%28java.awt.AWTEvent%29
- 243 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 00:43:43 ]
- 本家ならパッケージ javax.xml.transform 参照。
他のプロジェクトからも色々とライブラリが公開されてる。
- 244 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 00:58:48 ]
- Eclipse IDE for Java EE Developers (189 MB)
と Eclipse IDE for Java Developers (92 MB) は どういった点が異なるのでしょうか? どちらがお勧めですか?
- 245 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:03:40 ]
- >>244
>>3
- 246 名前:デフォルトの名無しさん [2009/08/08(土) 01:09:47 ]
- >>245
一応言語依存だからいいのでは? >>244 Java EE Developersのほうはなんかいろいろついてくる。 マシンのスペックが悪くないなら Java EE Developersいれとけば後々めんどくさくないよ。
- 247 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:15:40 ]
- iアプリを作成しているのですが、java.awt.geom.Point2Dが使えないため同機能のクラスを自作したいと思っています。
似た機能(の1部)は作成済みなのですが使ってみるとヌルポが返されたりして1部機能しかまともに使えません。 どのようにすれば、同機能のクラスとして使えるのでしょうか? 作成済みソース。 public class Point { double x; double y; Point location; Point(Point p){ location = new Point(); location.equals(p); } Point(double X,double Y){ x = X; y = Y; }
- 248 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:17:39 ]
- void setLocation(Point p){
location = new Point(); location.equals(p); } void setLocation(double X ,double Y){ x = X; y = Y; } double getX(){ return x; } double getY(){ return y; } } お願いします。
- 249 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:21:41 ]
- >>247
ぉぃぉぃぉぃぉぃ
- 250 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:25:16 ]
- >>245
申し訳ありませんでした。 気をつけます。 >>246 ありがとうございます。
- 251 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:30:00 ]
- eclipseで動的WEBプロジェクトでStruts1が無事に動くようになりました。
一週間苦しみました。3月からjava勉強始めてちょうど5か月です。 ここでの質問は100回以上してます。7割くらいは返答いただきました。 ありがとうございました。一通り概要が理解できたので、もう一度、 Javaアプリケーションに戻って、理解を深めようと思います。
- 252 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:34:06 ]
- >>251
それなら今度は答える側になってこのスレに貢献することで恩返ししないとね
- 253 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:35:22 ]
- >>251
5ヶ月だろうが50ヶ月だろうが、習うしかしてないのなら違いは無い。
- 254 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:38:18 ]
- >>252 >>253 がんばります。
- 255 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:45:14 ]
- >>244
そんな質問してるうちは上には縁がないので下でいいよ 上はJ2EEね EコマースとかWeb開発で使う
- 256 名前:255 mailto:sage [2009/08/08(土) 01:46:20 ]
- まじすまん
リロードしてなかった スルーしてちょうだい
- 257 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 02:05:03 ]
- >>247
JDKのオープンソースな実装から持ってきた方が早い気がする。 OpenJDK openjdk.java.net/ Apache Harmony harmony.apache.org/ ライセンスとかは自分で調べてくれ。
- 258 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 02:22:22 ]
- >>255
でもそれってライセンス料が必要になるでしょ。支払いはどうするの?
- 259 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 02:30:11 ]
- ?
- 260 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 04:37:12 ]
- >>207
IDEの管轄外にある環境をIDEが管理にするわけないのに何言ってんだこの馬鹿は。 EclipseだろうがNetBeansだろうが関係無いわ。 >>219 (1)str==nullのときぬるぽ。内部的に""の実体を探しに行く分、極めて少しだけ時間がかかる可能性がある。 (2)str==nullのときぬるぽ。str以外の実体にメモリアクセスをともなわない分、(1)より極めて少しだけ速い可能性がある。 (3)str==nullのときぬるぽ。古い環境だと動かない。おそらく最速だが(2)と変わらないような気もする。 (4)str==nullでもぬるぽにならない以外は(1)と同じ。 >>255 ライセンスよく嫁。自分で使うだけなら全部無償。
- 261 名前:デフォルトの名無しさん [2009/08/08(土) 05:26:33 ]
- ずいぶん昔のレスを引きずってんだなこいつw
EEを自分で使うんなら素直にMS使ったほうがいいんじゃね? それともUNIX使うスキルもねーのかよ お前はただの「おのぼりさん」だろお前?w
- 262 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 07:41:55 ]
- >>260
>>219ですが、ありがとうございます。 見易さ優先の(1)、速さを優先の(2)といったところでしょうか。 空文字列チェックを行うからには、前の行でnullでないことをチェックしておくので、ぬるぽに関しては気にしなくて良いと思いますが。
- 263 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 08:22:02 ]
- >>262
260じゃないけど横から。 str != null && str.equals("") って書くよりは "".equals(str) って書く方がソースとしてもバイトコードとしてもコンパクト。 equalsの引数にはnullを渡してもよいからこう書けるわけです。 str != null && str.length() == 0 よりは遅いかもしれないけど、毎回こう書くのは面倒でしょ。 特に1つのif文内で複数の変数をチェックする場合とか。 とはいえ、両方変数なら結局は str1 != null && str1.equals(str2) って書くはめになるんだけど。 あるいはorg.apache.commons.lang.StringUtils.equals(String, String)を使う。
- 264 名前:デフォルトの名無しさん [2009/08/08(土) 10:56:35 ]
- 開発環境での実行時のメモりの使用量をコントロールするツールとかってありますか?
ソースの書き方でパフォーマンスを違いを知りたいのですが
- 265 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 11:24:54 ]
- >>201
>>263 もし実際に自分でそう書いているのなら、これを機会に改めた方がいい。 if("".equals(str)){ //処理 }else{ System.out.println("length=" + str.length()); } とか書かれたときのことを考えるべき。
- 266 名前:263 mailto:sage [2009/08/08(土) 12:01:56 ]
- >>265
そりゃstrのメソッド呼ぶ気なら事前にnullチェックするでしょうよ。 でもその場合は、 if (str != null && str.equals("")) { //処理 } else { } と書いてもelseにはnullでも来てしまう訳で、 if (str != null) { if (str.equals("") { } else { } } とか、 if (str == null) { return; } if (str.equals("")) { } else { } と書く事に。 もし、nullまたは空文字とそれ以外を分けたいなら if (str == null || str.equals("")) { } else { } って書きますけどね。
- 267 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 12:02:58 ]
- 良く話題になる文字列のチェックだが、nullチェックはそこでするのか?と思う。
例1) public void method(String str) { if(str != null && str.eqals("XXX") { // 処理 } } はおかしくて public void method(String str) { if(str == null) throw new IllegalArgumentException(); if(str.eqals("XXX") { // 処理 } } だろ? String str = buf.toString(); ならば、nullチェックしないだろ? nullチェックと比較はまとめる方が珍しいと思う
- 268 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 12:04:43 ]
- >>266
どんな状況でもこうやればいいという感じで書いておきながら屁理屈こねるなや 後出しで色々いっても見苦しいぜ
- 269 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 12:06:44 ]
- これだからJavaやってる奴は
- 270 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 12:09:21 ]
- これだからプログラムやっている奴は
- 271 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 12:11:50 ]
- >>268
こんなザコために定石なことをわざわざ丁寧に答えたお前の方が「マヌケ」だと思うが?
- 272 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 12:13:19 ]
- 別に>>263の書き方に賛成ってわけではないが、
>>263と>>265,267は検査する内容が異なってる。
- 273 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 12:20:08 ]
- >>271
スレの趣旨に反しない限り、別に何書いたっていいだろ?
- 274 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 12:26:06 ]
- >>271
まあまあ人格攻撃はやめようよ。 >>265 で、どう書くのが良いのか見せてよ。
- 275 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 12:29:43 ]
- 暑苦しいなあ
|

|