★★Java質問・相談スレッド180★★ [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 http://pc11.2ch.net/hp/ Webプログラミング http://pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 (p)ttp://www.wikiroom.com/java/?path,classpath ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 ・String に == は使うな。equals() を使え。※ 質問時の心得 ・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。 ・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。 前スレ ★★Java質問・相談スレッド179★★ http://echo.2ch.net/test/read.cgi/tech/1476706523/ >>106 ,107 ありがとうございました 書き換えられてしまうんですね。ちょっと設計見直してみます Javaでは伝統的にあんまりその辺ガチガチに作らないことが多い 継承はなるべくオープンであるべき!スーパークラスが壊れる?そんなのサブクラスの責任でしょ?っていう考原理主義的な考え方がまだ色濃く残っている C#なんかだとオーバーライドさせたいところだけprotectedな仮想メソッドとして切り出しておいて それ以外のオーバーライドは一切認めない、みたいなガッチガチな設計をするのが一般的なんだけど 上書きされたくないならメソッドに final つけときゃいいんじゃねーの? Javaでメソッドに軒並みfinal付けると、 上から目線でオブジェクト指向を理解していない馬鹿呼ばわりする奴がいるからなあ 初心者なんだけど、 スカイプとかって、なんという言語で作られてるの? C++だろう MSだからスマホ版はC#に移行してるかもしれないけど >>109 Javaは継承したクラスが別物にしてしまうことを想定してないからな。 形だけ継承して中身を書き換えられるからタチが悪い。 >>114 高度なWindowsアプリならWindows SDKの可能性が高い。 めんどくせえからVBでテキトーに作っただけだったりしてな >>119 Windows SDKならCかC++なんだよ。知らないなら調べてもの言えよ >>122 スレタイ100回声に出して読んでから来いや ゴスリンがAmazonに入社したらしいね もうAmazonがJava買ってくれよ Googleみたいなウェーイ系の延長と違ってAmazonはエンタープライズITに対してわりと理解があるし Java開発のAWSへの取り込みを加速させるには悪くないんじゃないかな chromeブラウザのF12で表示される「NetWork」タブみたいに URLにアクセスした際に送受信されるリクエスト全部取得する処理ってどうやれば実現できますか? たぶんhttpClientかsocketあたり使うと思うけどhttpClientはレスポンスぐらいしか取れないように見える >>128 Httpclientでなぜできないと思うのか javacでコンパイルした後、クリーンのようなコマンドで.javaファイルを全て削除することは出来ないでしょうか? >>131 放っとけ 現実の開発でjavac手打ちなんてありえないからどうでもいい mavenやgradleを使おうね どーしても欲しいってのならバッチ作ってパス通せばいい >>131 ファイルを消す方法はOSや操作環境によって違う。 Windowsでコマンドプロンプトならdelコマンド、LinuxやMacOSのようなUNIX系OSならrm等でできる。 ただしディレクトリの階層を降りて行って対象のファイルを全て削除したい場合はそれぞれやり方が大きく異なるのでよく調べてからやった方が良い。 確かUNIX系のOSではfindコマンドと組み合わせないとできない。 それとWindowsのエクスプローラは*.javaで検索後にまとめて選択して削除はできるかも知れない。やったことないけど。 >>134 消すのは.classだけにしてあげて javacに-dだかつけて特定のとこに出力しといて毎回そこ消せばいい 面倒になってワンライナー書くようになって 色々やりたくなってスクリプト化して mavenとかみたいなソフトを作ってね コンパイルしたら問答無用でソース削除ってすげえな サムライだわ GridPaneで8×8のマスを作ってGUIのマインスイーパーのアプリケーションを作りたいんだけど どうやって作ったらいいと思いますか? JavaのGUIなんて覚えてもどうせ実際の開発で使う機会はないんだから画面はAAでいいんじゃね 座標を入力してマスを開くようにしたらいい javacを質問したものですが.javaにコードを書くのですね 初心者の勘違いでした java能力検定というものを受けてみようと思うのですが、試験ではjavaファイルを修正してjavacでコンパイルしたものを提出するようなのでビルドとクリーンは押さえておきたいと思い オプションで出来るだろうなと思っていました そんなレベルで受かるような試験なら受ける価値は全くないと思う え?javacのオプションでファイル消せると思ってたの? んなこたできねえ。 試験のお題が「ファイルを削除するプログラムを作りなさい」だったら笑うな。 コンパイラとビルドツールの違いがいまいち分かってないのか というか、コンパイラがコンパイル対象消すって、機能としてはまず入れないと思うぞ 自分がクラスファイルを書き出した根拠を消すって、怖すぎ 本でしか勉強してないのかな 実践しなよ それができないなら情報処理技術者試験とかのがいいんじゃないか そういやファイル削除するプログラムは初心者向けのお題としてはいいかも知れんな。 ワイルドカードも使えてオプションでディレクトリを降下して削除することもできるようなやつ。 暇な初心者は作ってみな。 Runtime.getRuntime().exec(new String[] {"bash", "-c", "find . -type f -name *.java" | xargs rm"}); ビルドツール使わずにEclipseでビルドが許されるのは小学生まで >>149 惜しい。*をエスケープしないとカレントディレクトリに一つjavaファイルがあったらbashに展開されてそのファイル名一つが指定されたことになってしまう。2つ以上あったらfindコマンドがエラーになって動かない。 それ以前の問題としてOSがUNIX系OSでなければ動かない可能性大か・・・ パッと見で、rmのエイリアスどうなってるのか不安になる >>156 あー。スペース入りファイル名ね。その場合 xargs に -0 が必要になるな。 てか、既に話が Java ではなくなってるな。 そう言えば Java だと1.7以降は java.nio.file.Files#walkFileTree() 使えば楽にできそうだな。 自分で再起処理書く必要がない。 walkFileTree()はstaticメソッドだった。何もしないでいきなり使える。 walkFileTreeは典型的なJavaらしい使い辛さ なんでプル型(イテレータみたいに利用者側のアクションで取りに行く形のこと)にしなかったのか ああいうSAXみたいなスタイルのAPIって実装する側は楽かもしれないけど利用者は面倒臭いだけなんだよな Visitorを実装するのが面倒臭いというのももちろんあるけど、 ああいうAPIの一番の問題はスレッドをブロックしやがること 処理を一時中断するにはいちいち別のスレッドを起動しなきゃいけない プル型の処理はnewDirectoryStreamやJava8で追加されたfindで可能 結果、 visitorの実装が面倒でブロッキングなwalkFileTree サブディレクトリを再起処理してくれない上にStreamの名を冠しながらJava8のStreamと互換性のないnewDirectoryStream メソッド増えすぎて反省したのか手軽なオーバーロードがなく引数の指定が面倒なfind わずか2バージョンでこの乱立ぶりよ walkfiletreeは知らないがSAXは便利に使ってる 普段からsedとか使ってるからかな >>162 Javaも今はプルパーサが主流よ SAXは不要な制限が付くだけの糞 >>163 流行りとかどうでもいいけど、どんな制限? >>164 制御を奪われてしまう >>160 の通りだね プルパーサはラップすることで簡単にSAXを実装できるけど、逆にSAXをベースにプルパーサを実装するのは(シングルスレッドの範囲では)不可能 SAXを好む人を否定はしないけど、少なくとも低レベルAPIとして位置付けるには制限が強くて向いてないんだよ >>165 ストリーム開けっ放しにして他のこと始めるのか その発想がなかった >>166 今時は非同期プログラミングの普及でいったん制御をフレームワークへ戻したいケースもよくあるからそんなにおかしな発想ではないぞ DOMに近い感覚で必要な要素だけを処理できるのも大きなメリットだ SAXだと、特定の要素に対する処理だけをメソッドに切り出すってのが非常にやりづらい >>167 あーそういうレベルで難しいんだ それならしょうがない 出来る方法でやるといいよ プッシュだと例えば複数のxmlを開いて結合することができないわけです データをソートして出力したいんですが TreeSetを使うとコンパレータのスコアが重複するデータは上書きされるみたいで 重複を許して保持するようなライブラリってありますでしょうか レスありがとうございます ArrayListの中にsortらしいメソッドがみあたらないのですが じぶんでsortアルゴリズムをかかなければいけないということなのでしょうか? なんでこの会話はSetとListがごっちゃになってるんだ? いまだにjava6つかってました… この期にアップデートしてみます TreeSetですでにコードかいてるなら ComparableのcompareToが0だったら1を返すとか0を返さないようにすればいいだけ バージョン上げるならJava8でStreamでソートが鉄板 サーブレット環境下 (tomcat8.0, java8) の開発環境(eclipse neon.3) でデータベース(postgresql)に jdbcを使用し接続したいのですが java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/test at java.sql.DriverManager.getConnection(DriverManager.java:689) at java.sql.DriverManager.getConnection(DriverManager.java:247) の例外により接続できません。 jdbcドライバはWEB-INF/libの中にありeclipseではクラスパスを通してあります。 またWEB-INF/lib内の他のjarはjavaから認識されております。 jdbcドライバがtomcatから認識されていないのが問題だと考えておりますが、 その理由がよくわかりません。 よろしくお願いします。 >>182 https://stackoverflow.com/questions/5556664/how-to-fix-no-suitable-driver-found-for-jdbcmysql-localhost-dbname-error-w Connection con = null; try { //registering the jdbc driver here, your string to use //here depends on what driver you are using. Class.forName("something.jdbc.driver.YourFubarDriver"); con = DriverManager.getConnection("jdbc:apache:commons:dbcp:test"); } catch (SQLException e) { throw new RuntimeException(e); } ドライバクラスはスタティックイニシャライザでレジストするインプリメンテーションがデフォルト Tomcat 8.xだとTOMCAT_HOME/libに置かないといけなくなった。 >>184 >>185 ありがとうございます ドライバが見つからないのはおまかんなわけではなく正しい挙動なんですね おまかんって略語否定するのもそろそろ老害みたいで見苦しいぞ 人の言動にまで注文つけるのか おまかんがわからないなら訊けばいいだけだろ 使わない方がいんじゃないかな? なんでおまかんなんて言っちゃったんだ 破廉恥すぎるだろ、状況考えろよ >>198 正規表現で置換するときに興奮するのかよ 文脈考えろ >>199 文脈考えたら「おまかん」なんて使うべきじゃないってわかるよね? 下品だよ 答えるほうが質問者の環境のことを揶揄して使うものだろ >>203 知ってるのに違う使い方するとかアホだな >>204 特段、揶揄のイメージないな 質問者がこれっておま環?って聞き方もよく見る ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる