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
0506デフォルトの名無しさん (オイコラミネオ MM11-CDeu [150.66.67.123])
垢版 |
2019/07/27(土) 23:34:08.27ID:gfq5vQssM
javaってなんでjavaって名になったんですか?
0507デフォルトの名無しさん (ワッチョイ 3601-FpXu [111.90.8.52])
垢版 |
2019/07/27(土) 23:44:51.88ID:6Xw13KxI0
>>506
「私はJavaと命名しました」と当時のOak製品マネージャーであり、現在はMarimba
Inc.のCEOであるKim Polese氏は語ります「私は正確に正しい名前を付けたかった
ので、Javaの命名に多くの時間と労力を費やしました。 このプログラミング言語は非常
にユニークであるため、私はオタク的な名前を避けることにしました。 私は、かっこよ
く、ユニークで、そして綴りが簡単で、言えることが楽しい何かが欲しいと思いました。

「私はチームを部屋に集め、「ダイナミック」、「生きている」、「衝撃」、「衝撃的」
、「革命的」などの単語をホワイトボードに書いて、グループをブレインストーミングに
導いた」とPoleseは言った。 。 「このセッション中に[Java]という名前が登場し
ました。WebRunnerLanguage用のDNA、Silk、Ruby、WRLなどの他の名前には、
yuck!」

So why did they decide to call it Java? | JavaWorld
https://www.javaworld.com/article/2077265/so-why-did-they-decide-to-call-it-java-.html
0508デフォルトの名無しさん (ワッチョイ a5ad-f/ht [42.145.105.241])
垢版 |
2019/07/28(日) 14:56:11.60ID:K7yfQMT20
通知バーのJAVAアイコンからインストールしようとするとかっこがありませんっていう構文エラーが出てきてうんともすんとも言わなくなるんだけど何なの?
0509デフォルトの名無しさん (ワッチョイ a5ad-f/ht [42.145.105.241])
垢版 |
2019/07/28(日) 14:58:28.50ID:K7yfQMT20
>>487
よくみたらこれだわ
7でも10でも会社のPCでももれなく起きるわ
公式で何か言ってくれてたりしないのかな
0510デフォルトの名無しさん (ワッチョイ d561-JDM+ [218.231.141.143])
垢版 |
2019/07/28(日) 18:28:52.54ID:FY1e9//S0
ライセンス変更になって、OTNに登録していないとDLできないようになったからじゃね?
どのみち、Java8を最後にJRE単体配布もなくなるし。
0511デフォルトの名無しさん (ワッチョイ a5ad-f/ht [42.145.105.241])
垢版 |
2019/07/28(日) 18:35:57.14ID:K7yfQMT20
仮にそれだとして)がありませんエラーでタスクバーにアイコン表示させっぱなしにするという糞対応する?
0516デフォルトの名無しさん (ワッチョイ b6da-9Rzn [223.218.251.239])
垢版 |
2019/07/29(月) 22:07:22.51ID:ah/mqMgZ0
>>515
グロ
0517デフォルトの名無しさん (ワッチョイ f6a6-CDeu [119.240.124.4])
垢版 |
2019/07/30(火) 07:18:51.66ID:VrpHK0hY0
またウン○か!
0518デフォルトの名無しさん (ワッチョイ e3ed-J+AI [61.203.126.217])
垢版 |
2019/08/14(水) 21:20:43.55ID:k4UWt8la0
mutex
0520デフォルトの名無しさん (アウアウウー Sa2b-ZOU2 [106.132.128.168])
垢版 |
2019/08/21(水) 20:08:48.99ID:8NVHTeeBa
&?
0521デフォルトの名無しさん (ワッチョイ 87ed-MlRc [122.135.18.167])
垢版 |
2019/08/27(火) 00:51:52.57ID:A4w3mNFW0
わらた
0522デフォルトの名無しさん (ワッチョイ 87ed-MlRc [122.135.18.167])
垢版 |
2019/08/27(火) 00:52:40.01ID:A4w3mNFW0
Classってクラスにそんなメソッドあったかも、
0525デフォルトの名無しさん (ワッチョイ 1394-o6K/ [123.48.64.125])
垢版 |
2019/10/08(火) 00:59:42.36ID:pe44plco0
awtは今後もサポートされ続けるの?
打ち切りの話とか出てる?
0526デフォルトの名無しさん (アウアウウー Sa9d-8Spd [106.132.135.144])
垢版 |
2019/10/08(火) 10:24:59.08ID:UHIrT7RMa
さあ?しかし swing のベースにもなっているので無くなれば swing ごと消滅になると思うよ。
0527デフォルトの名無しさん (ワッチョイ 1394-o6K/ [123.48.64.125])
垢版 |
2019/10/08(火) 17:43:19.07ID:pe44plco0
Desktopクラスがawtだから
javaでURLを開いてデフォルトブラウザで開こうとしたらawt必須でしょ?
javafxにDesktopクラスに相当するものがないし
awtはGUIフレームワークというよりもっと広い範囲の機能を持ってしまってる
0528デフォルトの名無しさん (アウアウウー Sa9d-8Spd [106.132.138.94])
垢版 |
2019/10/08(火) 21:06:48.90ID:gO+Oxfwra
ネイティブ環境との橋渡し的なものだな
0529デフォルトの名無しさん (ワッチョイ 2302-6CKJ [125.52.64.191])
垢版 |
2019/10/11(金) 08:20:28.90ID:OWmYpcgG0
Javaの課題が大量に出たのですがメソッドがうまく理解できず全く進めません

厚かましいですが問題を解いて解説できる方がいらっしゃったらお願いします

https://i.imgur.com/JEjERTW.jpg
https://i.imgur.com/VPD27ce.jpg
0533デフォルトの名無しさん (ワッチョイ 2302-6CKJ [125.52.64.191])
垢版 |
2019/10/11(金) 09:40:24.96ID:OWmYpcgG0
ありがとうございます…!
やってみます!
0534デフォルトの名無しさん (アウアウクー MMe1-mT29 [36.11.225.124])
垢版 |
2019/10/12(土) 02:36:24.75ID:w1B6WBqOM
とりまpc使おうず
0535デフォルトの名無しさん (ワッチョイ 23d2-cmrh [125.175.139.232])
垢版 |
2019/10/15(火) 22:14:15.26ID:d4ecUmga0
DateTimeFormatterについて教えて。

日付を月と日にフォーマットしたいのですが簡単な方法はありませんか?
システムの言語が日本語だったら10月15日で英語(US)だったらOctober 15などと表示したいです。
DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG).format(localDate)とすると
2019年10月15日となってしまって年が不要です。

JDK1.8でandroidアプリです。
0538デフォルトの名無しさん (ワッチョイ 3f94-MZfN [123.48.64.125])
垢版 |
2019/10/25(金) 14:12:30.48ID:RuWUXZ3V0
javaとc#で総称型の実装が違うけど
javaのイレージャというのは実際どう思う?
実際書いてるとなんとかなるけど、総称型情報が実行時に取得できないというのは、
処理系の評価としてはどうなんだろうか?

つまりjavaは付け焼刃の中途半端な実装をしているんだろうか?
それともイレージャが理想なんだろうか?
0539デフォルトの名無しさん (ワッチョイ 3f94-MZfN [123.48.64.125])
垢版 |
2019/10/25(金) 15:36:15.49ID:RuWUXZ3V0
SecurityManagerで動的にロードされたプログラムにポリシーを適用するという方法で
「動的にロードされたプログラムはこれらのパッケージ(またはメソッド)にのみアクセスしていい」
というような制限は実現できる?
0540デフォルトの名無しさん (ワッチョイ 3f94-MZfN [123.48.64.125])
垢版 |
2019/10/25(金) 15:50:04.14ID:RuWUXZ3V0
AWTPermissionみたいないろんなパーミッションがあるけど
そもそもある動作がどんなパーミッションを必要とするか?をカスタマイズできるのかどうか。
自分の独自クラスが独自パーミッションを必要とする、という事は可能なのか?
0542デフォルトの名無しさん (ワッチョイ 3f94-MZfN [123.48.64.125])
垢版 |
2019/10/26(土) 08:22:00.87ID:eCInqrX90
そのページにSecurityManagerに関したことは何もないと思うが?
0544デフォルトの名無しさん (ワッチョイ 3f94-MZfN [123.48.64.125])
垢版 |
2019/10/26(土) 11:01:22.96ID:eCInqrX90
おお、ありがとう。できるみたいだな。
0548デフォルトの名無しさん (スップ Sdfa-vNqd [1.75.3.131])
垢版 |
2019/11/02(土) 14:26:37.67ID:9S5zkDTmd
>>547
なるほどありがとう

あとずっと気になってたんだけど
時々コンストラクタじゃなくてそのクラスのstaticメソッド使ってインスタンスを初期化するようなクラスがあるけど
アレってどんな意味があるの?
0550デフォルトの名無しさん (ワッチョイ 575f-HgEL [106.72.163.96 [上級国民]])
垢版 |
2019/11/02(土) 22:43:41.51ID:qsr44g5y0
>>548
必ずコンストラクタで初期化するものなら、コンストラクタそのものがいらないことに気づかないのか?
0551デフォルトの名無しさん (ワッチョイ 575f-HgEL [106.72.163.96 [上級国民]])
垢版 |
2019/11/02(土) 22:51:03.49ID:qsr44g5y0
間違った。コンストラクタで同じ初期化をされると都合が悪い場合だった。

コンストラクタは常に同じ初期状態を作るために存在しているので、初期状態を複数パターン持ちたい場合は、コンストラクタが邪魔になる。
0553デフォルトの名無しさん (アウアウウー Sab7-a5T4 [106.132.122.50])
垢版 |
2019/11/03(日) 17:36:34.34ID:+YBSyx/ia
>>548
実装を隠したい時とかかな。
interface または abstrct クラスを公開して実装したクラスを非公開にして直接 new させない。
しかしどこかで new する必要があるので stasic メソッド作ってそこでやる。
0555デフォルトの名無しさん (ワッチョイ 3aad-LfSi [27.139.18.89])
垢版 |
2019/11/03(日) 21:18:47.91ID:ax9Okew10
>>554
例えばLocaleによって実装クラスを変えたい時とか。
0556デフォルトの名無しさん (ワッチョイ 575f-HgEL [106.72.163.96 [上級国民]])
垢版 |
2019/11/03(日) 22:13:21.53ID:z6AvjLYh0
コンストラクタは初期化処理部分を明示するために存在しているブロックにすぎない。
0557デフォルトの名無しさん (ワッチョイ 238f-6BDJ [118.7.1.66])
垢版 |
2019/11/06(水) 21:18:18.94ID:YMOIABpf0
以下の場合、オブジェクト指向で考えると、
何をクラスにし、何をメソッドにするのが良いのかを教えてください。

・商品の状態がテキストファイルに記録されていて、それをExcelへ一覧出力します。
 テキストには、商品ID、名前、製造日がスペース区切りで記録されていて、
 それら情報を毎日、Excelのセルへ入力する部分をjavaで実装します。
・本を読むと、Id、Name等を宣言して、Item.name等で名前を管理すべきかとも思います。
 (以下は文法上誤りですが雰囲気として書きます)

class Item{
public void Id()
public void Name()
public void date()
}

今は商品ID、名前、製造日を2次元配列に読み込ませて処理しています。
0558デフォルトの名無しさん (ワッチョイ d601-9lYZ [111.90.14.57])
垢版 |
2019/11/06(水) 22:09:08.17ID:i1VxEute0
俺ならこうかな
・商品クラス
・テキストファイルから商品を読み込むクラス
・エクセルに商品を出力するクラス
0559デフォルトの名無しさん (ワッチョイ 238f-x9nz [118.7.1.66])
垢版 |
2019/11/06(水) 22:19:59.95ID:YMOIABpf0
クラスは対象物テキストやエクセル()、
メソッドは動作(読み込みや書き出し)と言う風に作るという事ですか?
0560デフォルトの名無しさん (ワッチョイ 238f-x9nz [118.7.1.66])
垢版 |
2019/11/06(水) 22:20:58.67ID:YMOIABpf0
書き間違えました。
----

クラスは対象物(テキストやエクセル)、
メソッドは動作(読み込みや書き出し)と言う風に作るという事ですか?
0561デフォルトの名無しさん (ワッチョイ d601-9lYZ [111.90.14.57])
垢版 |
2019/11/06(水) 22:54:04.65ID:i1VxEute0
読み込みと書き込みは分けた方がテストしやすいだろうなってだけ
概念的なことは何も考えてない
0562デフォルトの名無しさん (アウアウクー MMcb-qG8t [36.11.224.107])
垢版 |
2019/11/07(木) 15:31:41.64ID:Htm+xBrDM
その分け方はオブジェクト指向のクラス分けではなくモジュール分けにすぎないが否定はしない。
0563デフォルトの名無しさん (アウウィフ FF5b-WuPA [106.171.65.44])
垢版 |
2019/11/07(木) 21:00:09.74ID:OX40Pd+4F
>557です
単に手続きを分けるだけなら考えついたのですが、
ちょっとオブジェクト指向ではないと思っています。

商品というオブジェクトをどう管理するのかが
肝だと思うんですが、言い分け方ないでしょうか。
0564デフォルトの名無しさん (ブーイモ MMbf-eyeu [49.239.67.125])
垢版 |
2019/11/07(木) 21:58:56.04ID:UdwTKafpM
>>563
スペース区切りのデータをCSVにしてExcelで管理してる台帳に追記するだけだと理解したんだけど、もしそうなら商品をオブジェクトとして扱う価値はあんまりないよ

それ以上の処理かあるのかな? 例えば名前、製造日についてビジネスルールに沿ったバリデーションがあったり、DBに保存や専用のUIに表示したり、そういう値の中身を意識する必要のある処理
0565デフォルトの名無しさん (ワッチョイ 178f-WuPA [118.7.1.66])
垢版 |
2019/11/07(木) 22:48:14.42ID:k1TXPQAL0
>>564
目的は自分がオブジェクト指向を理解する為です。
簡単な例で理解したいと思いまして。

プログラムをこれ以上修正する要件はありません。
0566デフォルトの名無しさん (ワッチョイ f79f-9HXo [122.133.97.37])
垢版 |
2019/11/08(金) 07:26:56.73ID:98dXBVGk0
なるほど勉強用ね
商品と商品たちはそれぞれクラスにする
ItemクラスとItemListクラス
ただし一般的な用件ならjava.util.Listで十分なので商品たちはList<Item>とすればいい
JavaでOOPらしくしたいなら配列はまず使わない

ほかに思考のヒントとしては
ItemクラスとProductクラスを分けてhas-a関係にするとか
商品IDクラスや製造日クラスの導入を検討するなど
製造日クラスも実用上はjava.time.LocalDateあたりで十分
日付の類いをStringのまま取り回すのはやはりOOPらしくはない
0567デフォルトの名無しさん (ブーイモ MMbf-eyeu [49.239.67.37])
垢版 |
2019/11/08(金) 12:59:41.86ID:DC2XQdtiM
>>565
オブジェクト指向でもそうじゃなくても、モデルが適切かどうかは、解こうとしてる問題に対しての有用性で判断するもの。

データに「商品」があるからとあってそれをクラスとしてモデリングすべきかどうかは、それが解こうとしてる問題に対して有用がどうかで判断する。

今回のケースではXXXReader、XXXWriter、XXXImporter、XXXConverterみたいなクラスから考えた方が適切。
0568デフォルトの名無しさん (ワッチョイ 178f-WuPA [118.7.1.66])
垢版 |
2019/11/08(金) 16:27:50.10ID:yOhc3kk50
>>567
その場合、商品データはどうやって管理しますか?
0569デフォルトの名無しさん (ブーイモ MMbf-eyeu [49.239.71.222])
垢版 |
2019/11/09(土) 10:53:42.88ID:3R32mnhiM
>>568
テキストファイル

Javaで書かなくてもをExcelのインポート機能でも似たようなこと出来るよね? Excelには商品クラス定義されてないにも関わらず。

テキストデータの各行を特定の型として捉えないと困るような処理(製造日を特定のルールで加工するとか商品マスタに登録されてないIDはエラーにするとか)がなければ、不必要に入力データの中身に依存せず、汎用的なスペース区切りのテキスト処理として考える。

各行の値に依存した処理が必要なら商品をクラスや構造体にして型として扱うがその場合でもXXXConverterのconvertメソッドのようなプログラムの大枠は変わらないからそっちから先に考えた方がいい。
0570デフォルトの名無しさん (ワッチョイ 178f-WuPA [118.7.1.66])
垢版 |
2019/11/09(土) 17:55:14.88ID:rZdHNCVm0
あくまでも勉強用に小さなデータでクラス概念を理解しようとしているので、
Excelのデータ区切りは考えていません。

聞きたかったのは、テキストデータを読み込むとして
どのようにデータを保持するのかです。
単に配列に入れて管理ならもう作ってあります。

>566さんのやり方で1度作ってみます。
0572デフォルトの名無しさん (アウアウウー Sa5b-WuPA [106.132.131.88])
垢版 |
2019/11/10(日) 10:36:56.34ID:wEe+Asgia
すみません。
大事なことを言い忘れてました。

商品のデータは1列に書かれていません。
商品名は必ず先頭にあるのですが、その情報は複数行にわかれて書かれています。
例えば、

商品A 重さ 型版
商品A 注文日
など。

しかも商品によって書き方はバラバラで、
唯一の規則性は商品名から必ず始まる事とスペース区切なことです。
商品の情報が何行に記述されるか、
一行に何個情報がスペース区切りされているかは、ランダムとしか言えません。
(本当は規則があるんでしょうけど・・・)

ということで、商品クラスを作って実装しました。
これは配列より暗黙的な部分が少なくていい感じです。

ありがとうございました。
非常に勉強になりました。
0573デフォルトの名無しさん (ワッチョイ 9f94-E5K3 [123.48.64.125])
垢版 |
2019/11/10(日) 21:13:49.63ID:guOKKfCD0
moduleでパッケージAを非公開、パッケージBを公開、
パッケージBのクラスのAPIがパッケージAのクラスを返す、
とした場合に外部のプログラムはそのAPIを利用できますか?
0574デフォルトの名無しさん (ワッチョイ 9f61-vPHs [61.245.59.179])
垢版 |
2019/11/12(火) 09:32:48.20ID:jtOqdKRJ0
そんなことできたら、moduleの意味が全くなくなる。
典型的なWrapperパターンの出番(ProxyとかAdapterをBに用意する)
0576デフォルトの名無しさん (ワッチョイ 9f94-QzFo [123.48.64.125])
垢版 |
2019/11/12(火) 21:55:14.70ID:JzWcTGKB0
>>574
Wrapperクラスを使えば直接対象クラスにアクセスしないからmoduleの制約に引っかからないという事?

>>575
usesとかprovidesで指定されたインターフェースが非公開のクラスを返す場合、
あるいは公開されたクラスを返すとしても返値のクラスのgetterで非公開のクラスが返される場合、
アクセスできるんだろうか?できないんだろうけど。

インターフェースXが公開、実装Yが非公開の場合、YのオブジェクトをXとして使用する事はできるんだろうか?

というのは、良く連鎖的にクラスの依存関係が生じていくわけで、
moduleで外部プログラムとの連携をやろうとしたらほとんどの場合
大量のパッケージを公開設定しなきゃいけないんじゃないか?と。

moduleをうまく使うテクニックみたいなのはあるんだろうか。
例えば公開用インターフェースをまとめたクラスを作ってそれだけを公開するとか?
でも、そのインターフェースから非公開のクラスに辿れてしまったら機能しないんだよな。
0577デフォルトの名無しさん (ワッチョイ 9702-QzFo [124.208.53.194])
垢版 |
2019/11/13(水) 19:53:24.72ID:UXUUsSoF0
JAVAの求人が多いと知り、
就職の為にJAVAを学ぼうと思うんですが、
本屋さんのプログラミング書籍の棚のJAVA本が充実しすぎて困ったぁ!
僕はどれを買えばいいんですかね?
0578◆QZaw55cn4c (ワッチョイ 9f47-eDwC [131.129.114.156 [上級国民]])
垢版 |
2019/11/13(水) 20:06:36.56ID:ESFhNQze0
>>577
どれを買っても一緒だから独断と偏見で一冊買って最後まで読め
コンピューターサイエンスの本に関して一般的に言えることだが一冊でオールマイティな本なんて存在しないし存在し得ない
何冊か買っては読み買っては読みしていくうちに自ずから獲得するべき知識がわかってくるものだ

ひたすら精進あるのみ
0579デフォルトの名無しさん (ワッチョイ 9f2c-E8Ce [219.162.234.204])
垢版 |
2019/11/13(水) 22:06:42.16ID:PTDdhEKV0
Java と言えば、オブジェクト指向を学ぶ、歴史を変えた本!
スッキリわかる Java入門 第2版、2014

この本の大ヒットにより、革命が起きて、
あちこちへ、スッキリシリーズが浸透していった!

たのしいRuby 第6版、2019/3/19
未だに、プログラミング・オブジェクト指向を学ぶには、この2冊がベスト!

ただし、Java の就職は、建設業と同じで、5大SIer を頂点とした土方系!
1社経由するごとに、3割抜かれる!

貴族・奴隷、Waterfall 型、上流・下流の階級制度!
顧客は上流としか、契約を結ばない

一方、Ruby on Rails は、モダンな自社サービスWeb 系だから、抜かれない!
0581デフォルトの名無しさん (ワッチョイ 9702-Kn9a [124.208.53.194])
垢版 |
2019/11/13(水) 23:48:10.19ID:UXUUsSoF0
>>578
了解です!
今はあまり深く考えないでおきます
0582デフォルトの名無しさん (ワッチョイ e361-Ks/Y [123.230.68.41])
垢版 |
2019/11/14(木) 10:57:04.52ID:gpjLruj80
>>576
exportされたクラスで、
public void X openMethod() {return new Y();}
public void Y openMethod() {return new Y();}
とした場合、
上は全くOK。
下は、client側で”import”しない限りはOK(コンパイルは通ってしまう)。
var変数への代入も可能。
けれどメンバーには一切アクセスできない(こっちはコンパイルエラー)。
export側でコンパイルエラーにならない理由はわからん。
0583デフォルトの名無しさん (ワッチョイ e394-zGDE [123.48.64.125])
垢版 |
2019/11/14(木) 11:14:29.68ID:axmqwQma0
>>582
レスありがとう

じゃあリフレクションでYにアクセスする事はできないけどXとしてYを使用する事はできると。
JPMSはリフレクションでも非公開インターフェースにアクセスできないようにするのが売りだろうから。

リフレクションで任意のクラスにアクセスできないとなると
デバッガみたいなものが作りづらくなりそうだ。

JPMSはやはり納得しづらい感じがある
0584デフォルトの名無しさん (ワッチョイ e394-zGDE [123.48.64.125])
垢版 |
2019/11/14(木) 11:16:42.35ID:axmqwQma0
後者はコンパイル時に問題が見つかりにくくなっているという問題もあるのか。
恐らく後者のコードで実行時にYにアクセスしたら例外が出るはず。
そうじゃなきゃJPMSの意味が無い

直接非公開クラスにアクセスしたらアウト、じゃなくて
非公開クラスである事を知りつつアクセスしたらアウト、という事になるのか。
0585デフォルトの名無しさん (ワッチョイ e361-Ks/Y [123.230.68.41])
垢版 |
2019/11/14(木) 16:31:20.81ID:gpjLruj80
なんで?
使う側は安全(コンパイルエラー)でしょ。
公開メソッド(たとえばtoString)は普通にアクセスできる。
純粋にimport(Y)できないから、型明示の代入やCastもできない。
あと、ディープリフレクションはexportとは別設定。
0586デフォルトの名無しさん (ワッチョイ 935f-o5/b [106.72.150.32])
垢版 |
2019/11/21(木) 13:42:25.06ID:oMz9B2oV0
メゾットの連続番号を簡略化するのは無理でしょうか?

aho=new baka1();

このbakaのナンバーを変更したいのです

for(int i=1;i<5;i++)aho[i]=new baka+i+();

みたいにするとエラーが出ます

なんかいい方法はないでしょうか?
0587デフォルトの名無しさん (ワッチョイ dfda-BEIG [220.144.30.46])
垢版 |
2019/11/21(木) 15:21:53.56ID:/5GdDHEF0
「メゾット」じゃなくて「メソッド(method)」、
あと
new Hoge();
はメソッドではなくコンストラクタの呼出し。

クラスを動的にインスタンス化したいならリフレクション使う。大雑把に書くと
Class.forName(...) -> clazz.getConstructor(...) -> constructor.newInstance(...)
する。後は自分で調べて。
0588デフォルトの名無しさん (ワッチョイ dfda-BEIG [220.144.30.46])
垢版 |
2019/11/21(木) 15:23:24.39ID:/5GdDHEF0
クラスとかメソッドに連番を振るようなのは、
それぞれのクラスがどういった機能を持つかとか覚えきれなくなるだろうし
ろくな事にならないからヤメとけ、と思いますけどね。
※感想には個人差があります。
0590デフォルトの名無しさん (アウアウウー Saa3-Pqlv [106.132.134.37])
垢版 |
2019/11/21(木) 17:23:38.70ID:MbgK9qpEa
>>586
ありません。

それと、ゾじゃなくてソだ。
0591デフォルトの名無しさん (アウアウウー Saa3-Pqlv [106.132.134.37])
垢版 |
2019/11/21(木) 17:26:18.60ID:MbgK9qpEa
>>587
あそうか。リフレクションでできるか。
しかしうクラス名変わったらおしまいな方法なのでお勧めする気が起きないな。
0592デフォルトの名無しさん (ワッチョイ 03f0-OOhs [58.98.134.167])
垢版 |
2019/11/21(木) 18:33:39.54ID:Wapa4TJu0
Javaで、string型のデータをhtml使わずhttpconnection使ってサーバーにつないで、postで送るんですが、springbootで作られたサーバーではどう書けば受け取れますか?
どうやってもうまくいかなくて…説明も下手ですみません。
@Requestparamで受け取れるかと思ったんですが、変数どうやって指定したらいいかとか解決できない状況です
0593デフォルトの名無しさん (ワッチョイ 522c-4eZD [219.162.234.204])
垢版 |
2019/11/21(木) 18:59:03.74ID:t93OqxgW0
Ruby on Rails なら、ルーティングを設定する

Post メソッドで、/login というパスで、Sessions コントローラーのlogin アクション。
post "login" => "sessions#login"

Rails では、下のどちらの書き方でも、params[ :name ] で取り出せる

ttp://〜/コントローラー/アクション/sato
ttp://〜/コントローラー/アクション?name=sato

「spring boot post」で検索して!
0595デフォルトの名無しさん (ワッチョイ 522c-4eZD [219.162.234.204])
垢版 |
2019/11/21(木) 22:49:32.49ID:t93OqxgW0
ハァ? クラス名の連番?w
メタプログラミングじゃあるまいし、Ruby から、学び直せ!w

Ruby にも、メタプログラミング用で、動的にメソッド名を付ける、define_method は有る。
これは、規則性のあるメソッド名を、複数つける場合に使う

こういう手法は、たいてい「メタプログラミングRuby 第2版」みたいな
「メタプログラミング何々」というような本に書いてある

「メタプログラミング Java」という本は無さそうだけど、リフレクションだろ
0596デフォルトの名無しさん (ワッチョイ 52ad-c8oy [27.139.18.89])
垢版 |
2019/11/22(金) 00:35:57.65ID:nCUGDEyM0
>>594
でもそれ出来れば設計考え直した方が良いと思うよ。自分では変更不可の領域に連番クラスがあるというのなら仕方ないけど。
0599デフォルトの名無しさん (アウアウウー Saa3-Pqlv [106.132.123.141])
垢版 |
2019/11/22(金) 10:07:48.59ID:G2a56k/Ua
>>598
全てのBakaに共通するインターフェースがない限りObjectクラスとしてしか扱えないのであまり価値がないのではないか?
0600デフォルトの名無しさん (ワッチョイ 522c-4eZD [219.162.234.204])
垢版 |
2019/11/22(金) 18:50:54.91ID:IgRfeEG+0
動的にクラス名を生成するのは、Ruby on Rails で言えば、

コマンド「bin/rails g controller コントローラー名 アクション名」で、
例えば、top コントローラー、index アクションなら、
自動的に、ApplicationController の派生クラス名・メソッド名が定義される

class TopController < ApplicationController
def index
end
end

こういうフレームワークを作る側のメタプログラミングだから、10年以上のメンテナー・ベテランの話!

君らは「スッキリわかる Java入門 第2版」にも書いてある通り、
フレームワークを使う側の人でしょ?

1. スッキリなどの入門書
2. Effective 何々、逆引き本
3. フレームワークを使う側の本
4. メタプログラミング、フレームワークを作る側の本

こういう順序で言えば、4は、一生関係ない人がほとんど!
■ このスレッドは過去ログ倉庫に格納されています

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