プログラミング言語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/
★★Java質問・相談スレッド180★★ [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/04/21(金) 22:13:17.42ID:Sf0TFsly
2017/05/23(火) 17:49:28.86ID:+VZhYDLB
俺はJava書くときは必ずObjectを継承するようにしてる
2017/05/23(火) 19:00:05.47ID:TGelZbxI
>>74
なんでや?
なんでや?
76デフォルトの名無しさん
2017/05/23(火) 20:54:01.87ID:mYQ+ynVM >>73
言う。
言う。
77デフォルトの名無しさん
2017/05/23(火) 21:00:29.01ID:RzWtz9Yc 言わないコンテキストと
言うコンテキストがあるわけだから
お互いのコンテキストをぶつけて消滅させて
人類が滅びれば地球に平和が訪れます
それが真のユートピア
言うコンテキストがあるわけだから
お互いのコンテキストをぶつけて消滅させて
人類が滅びれば地球に平和が訪れます
それが真のユートピア
78デフォルトの名無しさん
2017/05/23(火) 21:00:52.63ID:RzWtz9Yc 地球平和のためのオブジェクト指向
79デフォルトの名無しさん
2017/05/23(火) 21:29:33.07ID:A5t1zfLR >>76
文脈考えような
文脈考えような
80デフォルトの名無しさん
2017/05/23(火) 23:45:40.00ID:hoEPyhx6 >>79
あほか
あほか
2017/05/23(火) 23:49:02.19ID:u7xU/vNF
どうでもいい
82デフォルトの名無しさん
2017/05/23(火) 23:55:26.23ID:A5t1zfLR83デフォルトの名無しさん
2017/05/23(火) 23:56:04.61ID:A5t1zfLR いちいち「暗黙的なObjectクラスの継承以外の継承はあまり使わない」って書けって事か?
2017/05/24(水) 03:20:49.95ID:SSLM/4UF
2017/05/24(水) 03:21:57.53ID:SSLM/4UF
文脈を無視していきなり関係ない話をしだしたっていうならまだしも
2017/05/24(水) 07:02:11.95ID:8osOo0xF
>>84
おかしいのは文脈が違うからだという事に気付かないと。何かアスペっぽいよ君。
おかしいのは文脈が違うからだという事に気付かないと。何かアスペっぽいよ君。
2017/05/24(水) 07:18:15.41ID:SSLM/4UF
88デフォルトの名無しさん
2017/05/24(水) 07:21:05.75ID:sXHe3Xzk >>87
いきなりObject
いきなりObject
89デフォルトの名無しさん
2017/05/24(水) 07:25:08.22ID:sXHe3Xzk 相手が言ってることがおかしいと思ったら
相手の前提と自分の前提が違うんじゃないかと思わないと
自分の前提で相手の発言を解釈して相手がおかしいと
いうのは簡単だけど、それって会話が噛み合ってないだけだよね
たしかにJavaのすべてのクラスはObjectを継承するけれども
その意味での継承と、自分はあまり継承を使いませんというときの継承は
概念が異なることに気付けると思うし気づくべきだと思う
相手の前提と自分の前提が違うんじゃないかと思わないと
自分の前提で相手の発言を解釈して相手がおかしいと
いうのは簡単だけど、それって会話が噛み合ってないだけだよね
たしかにJavaのすべてのクラスはObjectを継承するけれども
その意味での継承と、自分はあまり継承を使いませんというときの継承は
概念が異なることに気付けると思うし気づくべきだと思う
90デフォルトの名無しさん
2017/05/24(水) 07:35:37.60ID:sXHe3Xzk 言葉が同じだから同じことを話しているんだと思うのが危なくて
言葉は同じでも概念が異なることがある
自分の概念を相手が言うことに当てはめておかしかったら置換可能でないということ
継承してはいけないものを継承してる
これがリスコフの置換原則
言葉は同じでも概念が異なることがある
自分の概念を相手が言うことに当てはめておかしかったら置換可能でないということ
継承してはいけないものを継承してる
これがリスコフの置換原則
2017/05/24(水) 09:20:49.63ID:IXUmJ/sE
Effective Javaが名著だと聞いて読んでみたことがある
継承より委譲を使うこと、と書いてあって、すぐにクソ本だと見抜いたよ
Objectを継承しないオブジェクトは存在しないが、委譲は必ずしも必須ではない
そんなこともわからない著者が書いた本をありがたがってるんだから、世間のJavaプログラマのレベルなんてお察し
継承より委譲を使うこと、と書いてあって、すぐにクソ本だと見抜いたよ
Objectを継承しないオブジェクトは存在しないが、委譲は必ずしも必須ではない
そんなこともわからない著者が書いた本をありがたがってるんだから、世間のJavaプログラマのレベルなんてお察し
2017/05/24(水) 09:25:04.61ID:rgjqqiZm
2017/05/24(水) 11:52:04.86ID:RPJTgULc
どの言語でも「Effective 何々」という本は、プロ必須本。
ここまで読めば、ひとまず上司に聞きながら、仕事ができるレベル
これ以上のレベルの本は「メタプログラミング 何々」という本。
これは、ライブラリ・言語実装者向けの本
最近の本では、委譲を勧める方が多い。
Web開発を想定して、委譲の方が柔軟性があるから
それに委譲は、コンポーネントの疎結合にも使える
オブザーバー、発行・購読
中央管制塔ありのメディエイター
メッセージキュー
ここまで読めば、ひとまず上司に聞きながら、仕事ができるレベル
これ以上のレベルの本は「メタプログラミング 何々」という本。
これは、ライブラリ・言語実装者向けの本
最近の本では、委譲を勧める方が多い。
Web開発を想定して、委譲の方が柔軟性があるから
それに委譲は、コンポーネントの疎結合にも使える
オブザーバー、発行・購読
中央管制塔ありのメディエイター
メッセージキュー
2017/05/24(水) 12:10:05.97ID:MizSfTrk
2017/05/24(水) 12:16:41.24ID:MnuqeZiD
2017/05/24(水) 14:14:28.08ID:SSLM/4UF
>>89
自分で気づいて欲しくて遠まわしに言ったんだがな
Javaでは必ず継承してるからリスコフの置換原則は必ず付きまとう
と言うか継承を滅多に使わないとは間違いで上書きしてないだけでメソッドはそのまま継承されてる
そのまま継承しただけではクラスの意味合いによって置換原則に従わないこともある
例えば数値を表すインスタンスのequalsとかそうじゃないか常識的には
new Counter(5).equals(new Counter(5))?
自分で気づいて欲しくて遠まわしに言ったんだがな
Javaでは必ず継承してるからリスコフの置換原則は必ず付きまとう
と言うか継承を滅多に使わないとは間違いで上書きしてないだけでメソッドはそのまま継承されてる
そのまま継承しただけではクラスの意味合いによって置換原則に従わないこともある
例えば数値を表すインスタンスのequalsとかそうじゃないか常識的には
new Counter(5).equals(new Counter(5))?
2017/05/24(水) 15:36:11.63ID:IgpnYvX1
「お察し」を使うのは厨二
2017/05/26(金) 07:24:33.27ID:Mhihnqx0
2017/05/26(金) 17:40:11.27ID:ynJbt3tr
>>98
なぜ反するか、継承すると適切に機能しなくなるかの説明できますか?
なぜ反するか、継承すると適切に機能しなくなるかの説明できますか?
100デフォルトの名無しさん
2017/05/26(金) 17:52:50.28ID:GQTsiFFs 偉そうなやつがきたぞ
101デフォルトの名無しさん
2017/05/26(金) 22:26:51.23ID:/9nVrKkw >>99
Counter x = new Counter(1);
Counter y = new CounterEx(1, 2);
x.equals(y); //置換原則に従い、型を無視して1番目の値のみを比較するとtrue
y.equals(x); //2番目の値も比較してfalse
これはequalsの対称性を破っている
Counter x = new Counter(1);
Counter y = new CounterEx(1, 2);
x.equals(y); //置換原則に従い、型を無視して1番目の値のみを比較するとtrue
y.equals(x); //2番目の値も比較してfalse
これはequalsの対称性を破っている
102デフォルトの名無しさん
2017/05/26(金) 22:47:17.18ID:/9nVrKkw 補足
対称性を満たすようにCounterEx#equalsの実装を変更しても仕様違反が生じる
Counter x = new Counter(1);
Counter y = new CounterEx(1, 2);
x.equals(y); //置換原則に従い、型を無視して1番目の値のみを比較するとtrue
y.equals(x); //相手がCounterの場合は x.equals(y) の値を返すように実装を変更してtrue
Counter z = new CounterEx(1, 3);
y.equals(z); //当然false
z.equals(x); //y.equals(x)の場合と同じくtrue
これは x = y かつ z = x なら y = z というequalsの推移性を破っている
対称性を満たすようにCounterEx#equalsの実装を変更しても仕様違反が生じる
Counter x = new Counter(1);
Counter y = new CounterEx(1, 2);
x.equals(y); //置換原則に従い、型を無視して1番目の値のみを比較するとtrue
y.equals(x); //相手がCounterの場合は x.equals(y) の値を返すように実装を変更してtrue
Counter z = new CounterEx(1, 3);
y.equals(z); //当然false
z.equals(x); //y.equals(x)の場合と同じくtrue
これは x = y かつ z = x なら y = z というequalsの推移性を破っている
103デフォルトの名無しさん
2017/05/26(金) 22:55:34.01ID:NnuCoMWV java 9 リリース遅れそうな気配だけど、
java 8 のサポート延長されないのかな。
http://www.oracle.com/technetwork/jp/java/eol-135779.html
java 8 のサポート延長されないのかな。
http://www.oracle.com/technetwork/jp/java/eol-135779.html
104デフォルトの名無しさん
2017/05/27(土) 09:00:27.31ID:H5DLR0HB105デフォルトの名無しさん
2017/05/28(日) 03:51:45.91ID:lcWhcyEB 質問させてください
メソッドaとbを持つ親クラスがあり、メソッドaは内部で自身のメソッドbを呼んでいるとします
次に親クラスを継承した子クラスを用意し、メソッドaとbの両方をオーバーライドし、メソッドaではsuperで親のaメソッドを呼んでいるとします
この時、子クラスのメソッドaを呼ぶと親と子どちらのbメソッドが実行されるのでしょうか?
メソッドaとbを持つ親クラスがあり、メソッドaは内部で自身のメソッドbを呼んでいるとします
次に親クラスを継承した子クラスを用意し、メソッドaとbの両方をオーバーライドし、メソッドaではsuperで親のaメソッドを呼んでいるとします
この時、子クラスのメソッドaを呼ぶと親と子どちらのbメソッドが実行されるのでしょうか?
106デフォルトの名無しさん
2017/05/28(日) 07:55:31.10ID:1h0Zdjgx >>105
子
子
107デフォルトの名無しさん
2017/05/28(日) 09:51:29.08ID:22uH3DrM108デフォルトの名無しさん
2017/05/28(日) 11:43:31.44ID:lcWhcyEB109デフォルトの名無しさん
2017/05/28(日) 12:15:32.64ID:KZ/JXw9A Javaでは伝統的にあんまりその辺ガチガチに作らないことが多い
継承はなるべくオープンであるべき!スーパークラスが壊れる?そんなのサブクラスの責任でしょ?っていう考原理主義的な考え方がまだ色濃く残っている
C#なんかだとオーバーライドさせたいところだけprotectedな仮想メソッドとして切り出しておいて
それ以外のオーバーライドは一切認めない、みたいなガッチガチな設計をするのが一般的なんだけど
継承はなるべくオープンであるべき!スーパークラスが壊れる?そんなのサブクラスの責任でしょ?っていう考原理主義的な考え方がまだ色濃く残っている
C#なんかだとオーバーライドさせたいところだけprotectedな仮想メソッドとして切り出しておいて
それ以外のオーバーライドは一切認めない、みたいなガッチガチな設計をするのが一般的なんだけど
110デフォルトの名無しさん
2017/05/28(日) 12:38:13.92ID:5K6OvT18 上書きされたくないならメソッドに final つけときゃいいんじゃねーの?
111デフォルトの名無しさん
2017/05/28(日) 13:22:14.80ID:KZ/JXw9A Javaでメソッドに軒並みfinal付けると、
上から目線でオブジェクト指向を理解していない馬鹿呼ばわりする奴がいるからなあ
上から目線でオブジェクト指向を理解していない馬鹿呼ばわりする奴がいるからなあ
112デフォルトの名無しさん
2017/05/28(日) 14:05:04.96ID:7TA+N736 >>111
別にバカが何を言っても関係なくね?
別にバカが何を言っても関係なくね?
113デフォルトの名無しさん
2017/05/28(日) 15:15:34.03ID:fRR4LI9a インターフェース
114デフォルトの名無しさん
2017/05/28(日) 15:33:19.93ID:TqBbmupp 初心者なんだけど、
スカイプとかって、なんという言語で作られてるの?
スカイプとかって、なんという言語で作られてるの?
115デフォルトの名無しさん
2017/05/28(日) 15:54:23.33ID:LqX4nhhl C++だろう
MSだからスマホ版はC#に移行してるかもしれないけど
MSだからスマホ版はC#に移行してるかもしれないけど
116デフォルトの名無しさん
2017/05/28(日) 16:51:28.22ID:fRR4LI9a スレチ
117デフォルトの名無しさん
2017/05/28(日) 21:32:06.13ID:QPUrPhGM118デフォルトの名無しさん
2017/05/28(日) 21:34:09.27ID:QPUrPhGM >>114
高度なWindowsアプリならWindows SDKの可能性が高い。
高度なWindowsアプリならWindows SDKの可能性が高い。
119デフォルトの名無しさん
2017/05/28(日) 22:33:09.13ID:A2iCvXLz 言語言うてるやろ
120デフォルトの名無しさん
2017/05/28(日) 22:39:20.62ID:pJKpSkwh スレチ言うてるやろ
121デフォルトの名無しさん
2017/05/28(日) 22:47:21.05ID:oCI88hgR めんどくせえからVBでテキトーに作っただけだったりしてな
122デフォルトの名無しさん
2017/05/28(日) 23:06:34.69ID:QPUrPhGM >>119
Windows SDKならCかC++なんだよ。知らないなら調べてもの言えよ
Windows SDKならCかC++なんだよ。知らないなら調べてもの言えよ
123デフォルトの名無しさん
2017/05/29(月) 00:12:45.97ID:3p3NlSCk >>122
スレタイ100回声に出して読んでから来いや
スレタイ100回声に出して読んでから来いや
124デフォルトの名無しさん
2017/05/29(月) 00:58:20.59ID:3z87Obs+ >>123
読んできました。
読んできました。
125デフォルトの名無しさん
2017/06/03(土) 09:33:06.11ID:os85wqX+ ゴスリンがAmazonに入社したらしいね
もうAmazonがJava買ってくれよ
もうAmazonがJava買ってくれよ
126デフォルトの名無しさん
2017/06/03(土) 16:40:49.89ID:6+8tZLqC 尼にメリットがない
127デフォルトの名無しさん
2017/06/03(土) 19:56:05.44ID:wtE6TEU1 Googleみたいなウェーイ系の延長と違ってAmazonはエンタープライズITに対してわりと理解があるし
Java開発のAWSへの取り込みを加速させるには悪くないんじゃないかな
Java開発のAWSへの取り込みを加速させるには悪くないんじゃないかな
128デフォルトの名無しさん
2017/06/07(水) 19:46:39.66ID:3Fne/ooH chromeブラウザのF12で表示される「NetWork」タブみたいに
URLにアクセスした際に送受信されるリクエスト全部取得する処理ってどうやれば実現できますか?
たぶんhttpClientかsocketあたり使うと思うけどhttpClientはレスポンスぐらいしか取れないように見える
URLにアクセスした際に送受信されるリクエスト全部取得する処理ってどうやれば実現できますか?
たぶんhttpClientかsocketあたり使うと思うけどhttpClientはレスポンスぐらいしか取れないように見える
129デフォルトの名無しさん
2017/06/07(水) 20:30:10.08ID:oWxqnrnZ >>128
HttpClientでできるよ
HttpClientでできるよ
130デフォルトの名無しさん
2017/06/07(水) 21:28:59.57ID:JC7MCbjt >>128
Httpclientでなぜできないと思うのか
Httpclientでなぜできないと思うのか
131デフォルトの名無しさん
2017/06/08(木) 07:25:25.31ID:wdYocHRg javacでコンパイルした後、クリーンのようなコマンドで.javaファイルを全て削除することは出来ないでしょうか?
132デフォルトの名無しさん
2017/06/08(木) 08:07:45.80ID:QV1lsJYM133デフォルトの名無しさん
2017/06/08(木) 08:53:29.49ID:V3R1vIUK どーしても欲しいってのならバッチ作ってパス通せばいい
134デフォルトの名無しさん
2017/06/08(木) 09:09:29.53ID:4Sfj3MXg >>131
ファイルを消す方法はOSや操作環境によって違う。
Windowsでコマンドプロンプトならdelコマンド、LinuxやMacOSのようなUNIX系OSならrm等でできる。
ただしディレクトリの階層を降りて行って対象のファイルを全て削除したい場合はそれぞれやり方が大きく異なるのでよく調べてからやった方が良い。
確かUNIX系のOSではfindコマンドと組み合わせないとできない。
それとWindowsのエクスプローラは*.javaで検索後にまとめて選択して削除はできるかも知れない。やったことないけど。
ファイルを消す方法はOSや操作環境によって違う。
Windowsでコマンドプロンプトならdelコマンド、LinuxやMacOSのようなUNIX系OSならrm等でできる。
ただしディレクトリの階層を降りて行って対象のファイルを全て削除したい場合はそれぞれやり方が大きく異なるのでよく調べてからやった方が良い。
確かUNIX系のOSではfindコマンドと組み合わせないとできない。
それとWindowsのエクスプローラは*.javaで検索後にまとめて選択して削除はできるかも知れない。やったことないけど。
135デフォルトの名無しさん
2017/06/08(木) 11:35:11.82ID:N6bKCzZD >>134
消すのは.classだけにしてあげて
javacに-dだかつけて特定のとこに出力しといて毎回そこ消せばいい
面倒になってワンライナー書くようになって
色々やりたくなってスクリプト化して
mavenとかみたいなソフトを作ってね
消すのは.classだけにしてあげて
javacに-dだかつけて特定のとこに出力しといて毎回そこ消せばいい
面倒になってワンライナー書くようになって
色々やりたくなってスクリプト化して
mavenとかみたいなソフトを作ってね
136デフォルトの名無しさん
2017/06/08(木) 11:51:57.46ID:AJC0wjYd コンパイルしたら問答無用でソース削除ってすげえな
サムライだわ
サムライだわ
137デフォルトの名無しさん
2017/06/08(木) 12:24:32.03ID:2+JnwVdz GridPaneで8×8のマスを作ってGUIのマインスイーパーのアプリケーションを作りたいんだけど
どうやって作ったらいいと思いますか?
どうやって作ったらいいと思いますか?
138デフォルトの名無しさん
2017/06/08(木) 12:32:38.14ID:V3R1vIUK 調べながらやればいいと思う
139デフォルトの名無しさん
2017/06/08(木) 13:28:18.05ID:AJC0wjYd JavaのGUIなんて覚えてもどうせ実際の開発で使う機会はないんだから画面はAAでいいんじゃね
座標を入力してマスを開くようにしたらいい
座標を入力してマスを開くようにしたらいい
140デフォルトの名無しさん
2017/06/08(木) 18:57:54.02ID:wdYocHRg javacを質問したものですが.javaにコードを書くのですね
初心者の勘違いでした
java能力検定というものを受けてみようと思うのですが、試験ではjavaファイルを修正してjavacでコンパイルしたものを提出するようなのでビルドとクリーンは押さえておきたいと思い
オプションで出来るだろうなと思っていました
初心者の勘違いでした
java能力検定というものを受けてみようと思うのですが、試験ではjavaファイルを修正してjavacでコンパイルしたものを提出するようなのでビルドとクリーンは押さえておきたいと思い
オプションで出来るだろうなと思っていました
141デフォルトの名無しさん
2017/06/08(木) 19:35:14.41ID:HjFtHmDJ >>140
何を言ってるのかますますわからん。
何を言ってるのかますますわからん。
142デフォルトの名無しさん
2017/06/08(木) 20:59:29.83ID:C8PmrmH4 そんなレベルで受かるような試験なら受ける価値は全くないと思う
143デフォルトの名無しさん
2017/06/08(木) 23:01:38.03ID:FAwIWNwN え?javacのオプションでファイル消せると思ってたの?
んなこたできねえ。
んなこたできねえ。
144デフォルトの名無しさん
2017/06/08(木) 23:02:59.28ID:FAwIWNwN 試験のお題が「ファイルを削除するプログラムを作りなさい」だったら笑うな。
145デフォルトの名無しさん
2017/06/08(木) 23:13:50.27ID:Ie+JXWe+ antを使いなさい
146デフォルトの名無しさん
2017/06/09(金) 15:00:31.56ID:AVL5YzBz コンパイラとビルドツールの違いがいまいち分かってないのか
というか、コンパイラがコンパイル対象消すって、機能としてはまず入れないと思うぞ
自分がクラスファイルを書き出した根拠を消すって、怖すぎ
というか、コンパイラがコンパイル対象消すって、機能としてはまず入れないと思うぞ
自分がクラスファイルを書き出した根拠を消すって、怖すぎ
147デフォルトの名無しさん
2017/06/09(金) 19:24:11.51ID:2o9pD8dn 本でしか勉強してないのかな
実践しなよ
それができないなら情報処理技術者試験とかのがいいんじゃないか
実践しなよ
それができないなら情報処理技術者試験とかのがいいんじゃないか
148デフォルトの名無しさん
2017/06/09(金) 21:05:11.77ID:HFELVm93 そういやファイル削除するプログラムは初心者向けのお題としてはいいかも知れんな。
ワイルドカードも使えてオプションでディレクトリを降下して削除することもできるようなやつ。
暇な初心者は作ってみな。
ワイルドカードも使えてオプションでディレクトリを降下して削除することもできるようなやつ。
暇な初心者は作ってみな。
149デフォルトの名無しさん
2017/06/09(金) 21:22:20.33ID:lTunlEdI Runtime.getRuntime().exec(new String[] {"bash", "-c", "find . -type f -name *.java" | xargs rm"});
150デフォルトの名無しさん
2017/06/09(金) 21:50:56.86ID:HFELVm93 Write once, Run once.
151デフォルトの名無しさん
2017/06/09(金) 21:54:48.29ID:Lf5I0uKH Eclipse使えよ
152デフォルトの名無しさん
2017/06/09(金) 22:33:25.96ID:lTunlEdI ビルドツール使わずにEclipseでビルドが許されるのは小学生まで
153デフォルトの名無しさん
2017/06/10(土) 01:28:25.17ID:Aw9IeMww >>149
惜しい。*をエスケープしないとカレントディレクトリに一つjavaファイルがあったらbashに展開されてそのファイル名一つが指定されたことになってしまう。2つ以上あったらfindコマンドがエラーになって動かない。
惜しい。*をエスケープしないとカレントディレクトリに一つjavaファイルがあったらbashに展開されてそのファイル名一つが指定されたことになってしまう。2つ以上あったらfindコマンドがエラーになって動かない。
154デフォルトの名無しさん
2017/06/10(土) 01:42:53.38ID:Aw9IeMww それ以前の問題としてOSがUNIX系OSでなければ動かない可能性大か・・・
155デフォルトの名無しさん
2017/06/10(土) 09:33:16.08ID:0q4Mq4Kr パッと見で、rmのエイリアスどうなってるのか不安になる
156デフォルトの名無しさん
2017/06/10(土) 10:07:20.48ID:chD4P6/F >>153
print0もない
print0もない
157デフォルトの名無しさん
2017/06/10(土) 15:12:22.05ID:Aw9IeMww >>156
あー。スペース入りファイル名ね。その場合 xargs に -0 が必要になるな。
てか、既に話が Java ではなくなってるな。
そう言えば Java だと1.7以降は java.nio.file.Files#walkFileTree() 使えば楽にできそうだな。
自分で再起処理書く必要がない。
あー。スペース入りファイル名ね。その場合 xargs に -0 が必要になるな。
てか、既に話が Java ではなくなってるな。
そう言えば Java だと1.7以降は java.nio.file.Files#walkFileTree() 使えば楽にできそうだな。
自分で再起処理書く必要がない。
158デフォルトの名無しさん
2017/06/10(土) 15:15:07.76ID:Aw9IeMww walkFileTree()はstaticメソッドだった。何もしないでいきなり使える。
159デフォルトの名無しさん
2017/06/14(水) 06:53:55.92ID:Q+Hg17ig walkFileTreeは典型的なJavaらしい使い辛さ
なんでプル型(イテレータみたいに利用者側のアクションで取りに行く形のこと)にしなかったのか
ああいうSAXみたいなスタイルのAPIって実装する側は楽かもしれないけど利用者は面倒臭いだけなんだよな
なんでプル型(イテレータみたいに利用者側のアクションで取りに行く形のこと)にしなかったのか
ああいうSAXみたいなスタイルのAPIって実装する側は楽かもしれないけど利用者は面倒臭いだけなんだよな
160デフォルトの名無しさん
2017/06/14(水) 07:08:13.41ID:Q+Hg17ig Visitorを実装するのが面倒臭いというのももちろんあるけど、
ああいうAPIの一番の問題はスレッドをブロックしやがること
処理を一時中断するにはいちいち別のスレッドを起動しなきゃいけない
ああいうAPIの一番の問題はスレッドをブロックしやがること
処理を一時中断するにはいちいち別のスレッドを起動しなきゃいけない
161デフォルトの名無しさん
2017/06/14(水) 07:56:23.35ID:y6/KXvpo プル型の処理はnewDirectoryStreamやJava8で追加されたfindで可能
結果、
visitorの実装が面倒でブロッキングなwalkFileTree
サブディレクトリを再起処理してくれない上にStreamの名を冠しながらJava8のStreamと互換性のないnewDirectoryStream
メソッド増えすぎて反省したのか手軽なオーバーロードがなく引数の指定が面倒なfind
わずか2バージョンでこの乱立ぶりよ
結果、
visitorの実装が面倒でブロッキングなwalkFileTree
サブディレクトリを再起処理してくれない上にStreamの名を冠しながらJava8のStreamと互換性のないnewDirectoryStream
メソッド増えすぎて反省したのか手軽なオーバーロードがなく引数の指定が面倒なfind
わずか2バージョンでこの乱立ぶりよ
162デフォルトの名無しさん
2017/06/14(水) 10:05:21.83ID:gMpitCBj walkfiletreeは知らないがSAXは便利に使ってる
普段からsedとか使ってるからかな
普段からsedとか使ってるからかな
163デフォルトの名無しさん
2017/06/14(水) 11:02:50.40ID:y6/KXvpo164デフォルトの名無しさん
2017/06/14(水) 11:48:12.85ID:gMpitCBj >>163
流行りとかどうでもいいけど、どんな制限?
流行りとかどうでもいいけど、どんな制限?
165デフォルトの名無しさん
2017/06/14(水) 12:22:31.58ID:y6/KXvpo166デフォルトの名無しさん
2017/06/14(水) 13:25:11.04ID:gMpitCBj167デフォルトの名無しさん
2017/06/14(水) 15:46:33.83ID:y6/KXvpo >>166
今時は非同期プログラミングの普及でいったん制御をフレームワークへ戻したいケースもよくあるからそんなにおかしな発想ではないぞ
DOMに近い感覚で必要な要素だけを処理できるのも大きなメリットだ
SAXだと、特定の要素に対する処理だけをメソッドに切り出すってのが非常にやりづらい
今時は非同期プログラミングの普及でいったん制御をフレームワークへ戻したいケースもよくあるからそんなにおかしな発想ではないぞ
DOMに近い感覚で必要な要素だけを処理できるのも大きなメリットだ
SAXだと、特定の要素に対する処理だけをメソッドに切り出すってのが非常にやりづらい
168デフォルトの名無しさん
2017/06/14(水) 17:03:52.08ID:gMpitCBj169デフォルトの名無しさん
2017/06/14(水) 17:16:50.12ID:7kOowwdv プルのいいところは軽量と速さだろ
170デフォルトの名無しさん
2017/06/14(水) 18:08:39.39ID:QP2Q0Xjx >>159
walk()もよろしく。
walk()もよろしく。
171デフォルトの名無しさん
2017/06/14(水) 18:08:55.88ID:OTRTw69H プッシュだと例えば複数のxmlを開いて結合することができないわけです
172デフォルトの名無しさん
2017/06/14(水) 19:04:54.50ID:QP2Q0Xjx 不可能ではないが大変面倒
173デフォルトの名無しさん
2017/06/14(水) 19:05:27.78ID:QP2Q0Xjx 問題はメモリ食うことかな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 石井ちゃんです!
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 今から北海道行く
- お前らは“スカイマイルタワー”建設計画を知っているか?
- これ誰か分かるか?
- エプシュタインファイルの公開、決定 [805596214]
