X



★★Java質問・相談スレッド182★★
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん (アウアウウー Sa73-AAco [106.132.135.194])
垢版 |
2018/11/19(月) 11:37:06.10ID:C68x9bSia

プログラミング言語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質問・相談スレッド181★★
https://mevius.5ch.net/test/read.cgi/tech/1518252580/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured
0604デフォルトの名無しさん (アウアウウー Saa3-Pqlv [106.132.133.94])
垢版 |
2019/11/22(金) 21:49:44.03ID:l6/+AaOma
あれ?rubyってJavaで作られてたの?じゃあJVM言語の一種?
0608デフォルトの名無しさん (ワッチョイ 935f-3IAb [106.72.150.32])
垢版 |
2019/11/23(土) 08:45:31.09ID:fraeGssq0
調べたら
Class.forName("クラス名");
ってあんまり推奨されてないみたいなんだけど
暗号化の関係かな?
よおわからん
0609デフォルトの名無しさん (ワッチョイ 52ad-c8oy [27.139.18.89])
垢版 |
2019/11/23(土) 17:13:27.52ID:JT6reT4x0
>>606
いけなくないけど不便だよ。君が便利と感じるのは経験が浅くてまだ困難に直面した事がないからだと思う。ま、頑張れ。
0611デフォルトの名無しさん (ワッチョイ 9e01-k+6Q [111.90.14.57])
垢版 |
2019/11/23(土) 20:40:36.12ID:0wKJQE8U0
数ヶ月したらどの番号が何をやってるかなんて忘れてしまうから
クラス名を番号にしてると修正が必要になったときに全部開いて確認する羽目になる

設計書に番号と処理の対応表を書いておけばよいけれども
設計書を開かないとわからないし設計書と実装を見比べて探し当てるよりは
クラスにはだいたいの概要がつかめるような名前をつけたがよいよ

どうせ作っておしまいだからと思ってたら完全に忘却したあとに
修正が必要になるなんてことザラにあるからわかりやすい名前をつけて
整理しとかないと泣きながら修正することになる

みんなが一度は通る道だろうけど
0613デフォルトの名無しさん (ワッチョイ cf8f-Sa3v [118.7.1.66])
垢版 |
2019/11/24(日) 15:36:00.02ID:Gqvqz24c0
連番のメソッドで何をしてるのか知りたい。
0614デフォルトの名無しさん (ワッチョイ cf8f-Sa3v [118.7.1.66])
垢版 |
2019/11/24(日) 15:36:45.26ID:Gqvqz24c0
あ、クラスか。
クラスを連番にする意味はないと思うが、何をする処理ですかね?
0621デフォルトの名無しさん (アウアウウー Saa3-Pqlv [106.132.130.182])
垢版 |
2019/11/25(月) 10:37:08.19ID:veETdbiQa
IDEでボタン配置とかやってるならクラス名は連番だろうが何だろうがあまり気にならんかもな。どのボタンがどのクラスかなんてのはIDEでわかるんだろうし。
0622デフォルトの名無しさん (ワッチョイ 5261-0DuE [61.245.58.252])
垢版 |
2019/11/25(月) 10:40:38.66ID:8LK1eAYw0
いい加減、クラス連番とかいうのかまうなw
0623デフォルトの名無しさん (アウアウカー Sacf-U0mO [182.251.30.173])
垢版 |
2019/11/25(月) 11:16:38.67ID:9J43lBdJa
Java的には連番はご法度だよな
メソッド名も主語=オブジェクトに関連する動詞じゃなきゃだめ
しかも英語で略語も禁止

SunのJavaの教科書はそう書いてる

だからIDE使う

連番の入れ替えとか歯抜け追加起きたとき
プロジェクト炎上するなこいつのは


1
2
5
4
9
31
6

とかになる
0624デフォルトの名無しさん (アウアウカー Sacf-U0mO [182.251.30.173])
垢版 |
2019/11/25(月) 11:32:46.60ID:9J43lBdJa
やるなら、


inteface Hage {
void pushShigeki();
}


class Tako implements Hage
class Hanako implements Hage

Hage[] listKokyaku = new Hage[2];
listKokyaku[0] = new Tako();
listKokyaku[1] = new Hanako();

for(Hage aitsu : listKokyaku) {
aitsu.pushShigeki();
}


うは、俺天才
0625デフォルトの名無しさん (アウアウカー Sacf-U0mO [182.251.30.173])
垢版 |
2019/11/25(月) 11:41:30.91ID:9J43lBdJa
UMLからお勉強だな


http://objectclub.jp/technicaldoc/uml/

こんなアホな設計者にカネばらまいて
いざとなったらトンズラきめて
末端の派遣社員が鬱病になって
2chで粘着されて会社が潰れるのが目に浮かぶわww
0627デフォルトの名無しさん (アウアウカー Sacf-U0mO [182.251.30.173])
垢版 |
2019/11/25(月) 12:59:09.06ID:9J43lBdJa
そうだな、Hageは不適切だった

Enkeidatsumoshowがいいな
0628デフォルトの名無しさん (アウアウカー Sacf-U0mO [182.251.30.173])
垢版 |
2019/11/25(月) 13:02:30.16ID:9J43lBdJa
ただしくは以下を見ろ
絶対に見ろ、命令だ


Java言語の命名指針 - Qiita
https://qiita.com/rkonno/items/1b30daf83854fecbb814
0633デフォルトの名無しさん (ワッチョイ cf9f-G4l2 [118.109.43.71])
垢版 |
2019/11/26(火) 09:44:25.60ID:i6eVGflj0
画面部品を一つ一つ異なるクラスにする意味あるの?
インスタンスが連番なのじゃなくて?

都市伝説っぽいが、会社規則でクラスをコード+連番にしないといけないという愚痴ならどこかで読んだことがある
0634デフォルトの名無しさん (ワッチョイ 7f1f-o5P1 [133.205.248.154])
垢版 |
2019/11/30(土) 17:54:07.54ID:FnAJNe620
どうも、都市伝説です

謎略称+連番はロクにまともなコードも書けない人間が略称→機能を暗記して周りにマウント取るためのテクニックとして確立されてる
0637デフォルトの名無しさん (ワッチョイ df63-R3ru [114.149.175.182])
垢版 |
2019/11/30(土) 22:32:31.73ID:HT5pBiqn0
普通に名前つけさせようとすると
英語もろくすっぽできないプログラマーがわけわからん名前つけるからな!

いかなる創造的仕事もSE様のしごとだ
プログラマーは工員のごとく黙って番号を付与された部品を組み立てておればよい
0638デフォルトの名無しさん (アウアウウー Sa23-8Irb [106.132.138.225])
垢版 |
2019/12/01(日) 21:35:10.17ID:54WkPiOYa
日本語でクラス名付けちゃえよ。その他変数名とかも。ソースを外国に輸出しないならそれでも良かろう。
Javaなんだし漢字が識別子に普通に使えるよ。入力の切り替えが面倒ってのはあるかも知れないが可読性は上がる。
0641デフォルトの名無しさん (ワッチョイ 5f8f-ywWo [118.7.1.66])
垢版 |
2019/12/01(日) 22:13:32.48ID:dM3xe/zP0
ソースはアルファベット、コメントは日本語が一番見やすいが・・・。
0643デフォルトの名無しさん (ワッチョイ 5f01-YC6P [126.159.206.200])
垢版 |
2019/12/02(月) 06:39:31.76ID:/N45p/D+0
日本語は文字コードの問題があって、コメントは英語が基本と言われていますね。
0644デフォルトの名無しさん (ワッチョイ 7fad-/0K4 [27.139.77.105])
垢版 |
2019/12/02(月) 08:35:14.13ID:6Q7teWoI0
どんな問題?
0646デフォルトの名無しさん (アウアウカー Sad3-yfoe [182.251.34.142])
垢版 |
2019/12/02(月) 10:19:01.96ID:4IAAki39a
>>643
素人がエンジニアを名乗るの図
どこでさ仕事したらそんな歪んだ知識になるんだ
0648デフォルトの名無しさん (アウアウウー Sa23-8Irb [106.132.123.180])
垢版 |
2019/12/02(月) 18:16:14.51ID:AXP0tN/na
正規化の問題があるといえばあるか。
見た目全く同じファイル名とかUnicodeだと作れちゃうよね。濁点とか半濁点が曲者。
その辺を考慮してくれるテキストエディターでないといつかその内ハマる。
多分WindowsとMac混在で編集するとその時は早めに来る。
0651デフォルトの名無しさん (ワッチョイ d501-epCg [60.145.42.28])
垢版 |
2019/12/05(木) 13:36:07.20ID:wIKti5Mb0
SpringBootの勉強中なんだけど、誰かわからないから教えてもらえませんか?
Aという名前のプロジェクトとBというプロジェクトがそれぞれ存在していて、
AのプロジェクトからBのプロジェクトのある画面を呼び出すことは可能でしょうか?
マルチプロジェクト?というので可能でしょうか?
0653デフォルトの名無しさん (ワッチョイ d161-QX1D [218.33.196.177])
垢版 |
2019/12/07(土) 11:51:34.98ID:bFOMZERE0
そもそも「画面を呼び出す」って訊き方が?
・httpとかネットワーク的な話なのか
・画面がコンポーネントになっていて、それを含むモジュールをimportして使いたいという意味なのか
どっちにとっても、Spring以前の話だな。
0655デフォルトの名無しさん (ワッチョイ dde6-Dd89 [14.3.11.220])
垢版 |
2019/12/07(土) 21:23:14.66ID:YAam3qww0
Queue<Integer>の合計を取る場合、拡張forを使用していますが、
stream().sum()の様な方法で求めることはできますか?
0657デフォルトの名無しさん (ワッチョイ 6301-fBuc [60.108.151.168])
垢版 |
2019/12/13(金) 02:40:57.30ID:VJl1Rt3v0
メソッドの処理時間を返すメソッドを作りたいと思ってるのですが実装方法がよく分かりません…
関数型プログラミングをつかえとネット上で書いてあったのですが中々理解出来ずにいます…

やりたいこと:
int runProcessTime(メソッド){
long start = System.currentTimeMillis();
// 引数のメソッドを実行
long end = System.currentTimeMillis();
return (int)end - start
}

どなたかこのポンコツめに実装方法を教えてください……よろしくお願いします…
0659デフォルトの名無しさん (オッペケ Srbb-s/7w [126.34.41.167])
垢版 |
2019/12/13(金) 15:58:33.51ID:JQqa66DGr
試してないけどこんな感じかな

int runProcessTime(Runnable proc){
long start = System.currentTimeMillis();
proc.run();
long end = System.currentTimeMillis();
return (int)end - start
}

// 呼び出し
runProcessTime(() -> {you.doSomething();});

例外投げんなと怒られたらCallable版も用意してreturn false
Effectively finalで怒られたら引数の宣言にfinalでもつけて修正
0661デフォルトの名無しさん (ワッチョイ 6301-fBuc [60.108.151.168])
垢版 |
2019/12/14(土) 00:13:43.09ID:9SpegRHr0
>>658-660
ありがとうございます

参考にしてもらって調べてみましたが、プロファイラやAOPを使ったログ出力をすればたしかに解決出来そうです!

ただそろそろラムダ式とちゃんと向き合わなきゃ駄目かなと思っているので>>660のコードを参考に読み解いてこうと思います!

>>659のコードにはとりあえずrunnable実装したクラス投げてみたんですがどうも上手くいかなかったです…
これもラムダ式が理解出来てれは動作するんでしょうか…?
0663デフォルトの名無しさん (ワッチョイ 6301-uKDx [60.108.151.168])
垢版 |
2019/12/14(土) 02:22:22.35ID:9SpegRHr0
>>662
とりあえず動作確認がしたくて試行錯誤した結果こんな感じなら通るのかなぁって思ってました
https://wandbox.org/permlink/hflsLOytE8IIIZkt

ご指摘の通りに書いてみたら上手く動作してくれました!ありがとうございます!
https://wandbox.org/permlink/jl8r7LPtWxuNBPkh
型推論…便利だけど仕様理解してないとなんか不思議な感覚ですね
0664デフォルトの名無しさん (ワッチョイ 9aad-kWkR [27.139.77.105])
垢版 |
2019/12/14(土) 21:02:02.41ID:SgtXLdNQ0
Kotlin もよろしく
0665デフォルトの名無しさん (アウアウウー Sa15-M3rQ [106.154.139.194])
垢版 |
2019/12/23(月) 20:12:08.00ID:Tcm1zA7za
アプリを開く→(複数のユーザーが)学習時間を入力→サーバーにデータを送信・保存→管理者がcsvで出力
というようなスマホアプリ(ユーザーが複数)を作りたいと思っているのですが
参考になる書籍等ありませんでしょうか。そもそも、実現可能なものでしょうか。
スレ違いでしたらすみません。
0666デフォルトの名無しさん (ドコグロ MMa3-5TeV [119.243.55.47])
垢版 |
2019/12/24(火) 09:51:50.98ID:FDV9SMo9M
>>665
その辺詳しくて暇な学生でも知り合いにいたら焼肉でも奢って作ってもらえるレベル。
自分でやりたいならサーバーもアプリ開発も入門書から。
0672デフォルトの名無しさん (アウアウウー Sa15-On3P [106.180.1.135])
垢版 |
2019/12/24(火) 21:22:10.62ID:dq3QkvTpa
C#ができるならJavaの現場にいきなり投入されても全然問題ないから、あえて自分で勉強しておく必要はないと思う
JavaはC#でいうところのVB的なバカの受け皿がないので、C#に比べるとプログラマの平均レベルはかなり落ちる
0676デフォルトの名無しさん (アウアウウー Sa15-M3rQ [106.154.139.33])
垢版 |
2019/12/25(水) 18:40:52.69ID:QLybXwoka
>>666それならちょっと頑張ってみようと思います。ありがとうございます。
>>673入力作業が面倒だったら時間を記録をしないのです。googlesheetでもできはしますが
続くような、入力がシンプルな、学生でも馴染みのあるアプリなシステムを作りたいのです。
0679デフォルトの名無しさん (ワッチョイ 1b01-0vNI [111.90.14.57])
垢版 |
2019/12/25(水) 19:45:21.98ID:cJWtSi8V0
>>675
年収が? IQが? 技術力が?
言語にポインタがあったらそれが上がると?
0680デフォルトの名無しさん (ワッチョイ 1b01-0vNI [111.90.14.57])
垢版 |
2019/12/25(水) 19:50:04.62ID:cJWtSi8V0
ポインタを極めて生活が豊かになるなら
組み込みエンジニアはもっと幸せなのじゃないだろうか
給料高いって話聞かないし身の回りを見渡してもそういう人いないから
ポインタにそんな価値はありません
0681デフォルトの名無しさん (ワッチョイ 1b01-0vNI [111.90.14.57])
垢版 |
2019/12/25(水) 19:57:01.15ID:cJWtSi8V0
VB.NETもC#も変わらぬ
VBがバカの受け皿ならC#もバカの受け皿だ
使う言語によって賢さが変わるものではない
ただしProlog使いだけは侮るな、変態だから
0682デフォルトの名無しさん (JP 0Hab-zFmU [61.199.190.35])
垢版 |
2019/12/25(水) 21:15:16.60ID:ALfGM20+H
>>679
コーディング技術力は上がると思う。
0683デフォルトの名無しさん (ワッチョイ 0bda-BXgI [60.46.142.56])
垢版 |
2019/12/26(木) 02:59:14.29ID:FdHruebH0
ポインタの理屈は単純だけど、ポインタのポインタのポインタのポインタのポインタの・・・・・と増えていくと
見落としや勘違いが増えるの実感して、単純なほうがいいと思ってるのでせいぜい4〜5段階までにしてる。

頭が悪いのは否定しない。
0685デフォルトの名無しさん (アウアウウー Sa57-hoej [106.132.126.245])
垢版 |
2019/12/26(木) 08:38:03.99ID:n7PujD85a
ポインタは、全体把握とどの情報を実領域に
持たせるかという構想が必要だから、
バグの温床になって嫌われた。

逆に言うと、全体把握と構想力がある人(コーディング力が高い人)は、
ポインタがある言語を使った方が高性能のプログラムを使えていいと思う。
0686デフォルトの名無しさん (ブーイモ MMdf-M7II [49.239.65.54])
垢版 |
2019/12/26(木) 09:02:47.60ID:YvaHujGZM
ポインタは元々少ないメモリ空間の昔に使われてきた
プログラム自体を書き換えることで、違う処理をさせてきたわけだ
今はそんなことする必要は無く、ワークエリアも十分ある

その中でわざわざポインタ使ってやる方がおかしい
0692デフォルトの名無しさん (アウアウクー MM1f-K4/I [36.11.225.139 [上級国民]])
垢版 |
2019/12/26(木) 16:33:20.56ID:P2pgmRUJM
>>689
目的なく言語選びをしても意味がない。
0694デフォルトの名無しさん (アウアウウー Sa57-1jI+ [106.132.121.87])
垢版 |
2019/12/26(木) 20:59:53.58ID:jGVvGCFqa
               .|  
               .|  
    ∩___∩    |  
    | ノ\   ,_ ヽ  .|  
   /  ●゛  ● |   .J  
   | ∪  ( _●_) ミ 
  彡、   |∪|   |     
 /     ∩ノ ⊃  ヽ
 (  \ / _ノ |  |
  \  "  /  | |
   \ / ̄ ̄ ̄ /
      ̄ ̄ ̄ ̄
0695デフォルトの名無しさん (アウアウウー Sa57-hoej [106.132.126.245])
垢版 |
2019/12/26(木) 23:41:10.21ID:n7PujD85a
ポインタは処理速度が速いからね。
(代入処理が少なくなるせい)
0696デフォルトの名無しさん (ワッチョイ 4301-Mkmj [126.242.217.97])
垢版 |
2019/12/26(木) 23:46:20.90ID:AOHRGRKj0
恐らく逆じゃないかな。
スタック上にオブジェクトを作れるとメモリーの確保が必要ないし常にキャッシュに載るので速い。
ポインタがない言語はだいたいポインタと同程度の大きさを持ついくつかのプリミティブしかスタック上に配置できないので、常にポインタを介した演算と同程度の速度しか出せない。
ってことでは。
0698デフォルトの名無しさん (ワッチョイ 4301-Mkmj [126.242.217.97])
垢版 |
2019/12/27(金) 00:00:34.84ID:2RWoWvTN0
すべてのオブジェクトをスタックにしか置けないと、事前にすべてのオブジェクト領域を用意しないといけない。
それは現実的ではないのでヒープが必要になり、ヒープへの効率的アクセスにポインタが用意される。
という順番かと。
0699デフォルトの名無しさん (ワッチョイ 4301-Mkmj [126.242.217.97])
垢版 |
2019/12/27(金) 00:01:57.53ID:2RWoWvTN0
スタックポインタの指す場所をキャッシュしないプロセッサはないので、コンパイラ関係なくスタック上は有利じゃないでしょうかね。
キャッシュミスで1000クロック失うこともあるわけですし。
0700デフォルトの名無しさん (アウアウウー Sa57-hoej [106.132.126.245])
垢版 |
2019/12/27(金) 00:13:29.51ID:FGT7rX6da
ポインタの利点は、メモリ上でデータコピーの頻度が下がることだよ。
ポインタはデータを参照するだけで、コピー(代入)しないから。
0701デフォルトの名無しさん (ワッチョイ 4301-Mkmj [126.242.217.97])
垢版 |
2019/12/27(金) 00:20:45.16ID:2RWoWvTN0
>>700
Javaのオブジェクトもコピーしませんよ。
0702デフォルトの名無しさん (ワッチョイ cf8f-hoej [118.7.1.66])
垢版 |
2019/12/27(金) 00:41:11.11ID:TGHw1m2h0
まじで?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況