Java初心者のためのスレッドです。
※前スレ
Java入門・初心者質問スレ Part.7
http://mevius.5ch.net/test/read.cgi/tech/1515549964/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured
探検
Java入門・初心者質問スレ Part.8
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ eff7-9jZM [175.28.184.198])
2018/06/07(木) 20:17:08.87ID:N8MsK2gr0711デフォルトの名無しさん (アウアウウー Sac7-/d5m [106.180.46.196 [上級国民]])
2018/11/15(木) 07:27:10.15ID:AxNEuJ7Oa そうですか残念です。
712デフォルトの名無しさん (ワッチョイ cf80-vjqa [153.181.220.179])
2018/11/15(木) 08:34:12.11ID:g74yzjtM0 Ruby なら、uniq で、配列内の重複した要素を削除できるから、それで文字数を数えて比較すれば?
split で1文字ずつ、配列の要素にする
str = "abca"
str.length #=> 4
str.split( "" ).uniq.length #=> 3
split で1文字ずつ、配列の要素にする
str = "abca"
str.length #=> 4
str.split( "" ).uniq.length #=> 3
713デフォルトの名無しさん (アウアウウー Sac7-AAco [106.132.124.87])
2018/11/15(木) 09:43:30.75ID:RDhHOc3na >>709
同じ文字を含むなら (.).*\1 でできると思うので、プログラムの側でこれにマッチしないものを処理すれば良いのではないかな。
同じ文字を含むなら (.).*\1 でできると思うので、プログラムの側でこれにマッチしないものを処理すれば良いのではないかな。
714デフォルトの名無しさん (アウアウカー Saa7-ZFLo [182.251.134.39])
2018/11/15(木) 13:03:21.57ID:lNkjj0jra >>709
重複要素の無いコレクション
https://docs.oracle.com/javase/jp/8/docs/api/java/util/Set.html
>>712
Rubyならじゃねえ。
Javaに同じ機能無いかくらい調べやがれ。
こちとら10年くらいJava触ってねーぞ。
重複要素の無いコレクション
https://docs.oracle.com/javase/jp/8/docs/api/java/util/Set.html
>>712
Rubyならじゃねえ。
Javaに同じ機能無いかくらい調べやがれ。
こちとら10年くらいJava触ってねーぞ。
715デフォルトの名無しさん (ワッチョイ 8f9f-z0W7 [113.153.104.20 [上級国民]])
2018/11/15(木) 15:12:37.43ID:pPH/bz/I0716114 (アウアウカー Saa7-ZFLo [182.251.134.39])
2018/11/15(木) 15:16:26.15ID:lNkjj0jra >>715
解決したようで何より。
解決したようで何より。
717デフォルトの名無しさん (アウアウウー Sac7-AAco [106.132.124.87])
2018/11/15(木) 15:17:43.39ID:RDhHOc3na >>715
\ 記号はエスケープ文字なので \\ にする。
\ 記号はエスケープ文字なので \\ にする。
718デフォルトの名無しさん
2018/11/15(木) 15:32:48.07 ありがとうございます。
\\でもNG出て
if(a.matches(".*(.).*\\1.*")){
にさせてもらったら
期待通りの結果がでるようになりました。
ありがとうございました。
\\でもNG出て
if(a.matches(".*(.).*\\1.*")){
にさせてもらったら
期待通りの結果がでるようになりました。
ありがとうございました。
719デフォルトの名無しさん (アウアウウー Sac7-AAco [106.132.124.87])
2018/11/15(木) 16:12:34.80ID:RDhHOc3na あー。そうか。matches() は前後に暗黙の ^$ が入るんだったな。
720デフォルトの名無しさん (ワッチョイ 63b9-xL3o [180.178.88.6])
2018/11/15(木) 19:45:12.42ID:y/xxNwdx0 配列変数の宣言と配列を作成する文において、配列の型を2回記述しないと
いけない理由は何ですか?
例) int[] array = new int[5];
インスタンス変数の宣言文と似ていますが、もしかして配列においても
多態性が使えるんですか?
いけない理由は何ですか?
例) int[] array = new int[5];
インスタンス変数の宣言文と似ていますが、もしかして配列においても
多態性が使えるんですか?
721デフォルトの名無しさん (アウアウウー Sac7-AAco [106.132.124.87])
2018/11/15(木) 20:07:38.69ID:RDhHOc3na 元々Javaは型推論しない言語だからなあ。
722デフォルトの名無しさん (スフッ Sd9f-By/H [49.104.24.204])
2018/11/15(木) 20:56:36.68ID:zE6igjOyd bronzeの問題見てるけどインクリメントの後置やらfor文のブロック省略やら、引っ掻けたいだけの問題多すぎない?
723デフォルトの名無しさん (アウアウウー Sac7-unLA [106.133.52.74])
2018/11/15(木) 21:05:38.09ID:cJq6eeYEa >>720
理由と言われても、そう言う言語仕様だから。もう20年以上前に設計された言語だから、今の基準で見たら冗長な表現が多々ある。
あと配列においても多態性が〜、の部分は何が言いたいのか分からない。
理由と言われても、そう言う言語仕様だから。もう20年以上前に設計された言語だから、今の基準で見たら冗長な表現が多々ある。
あと配列においても多態性が〜、の部分は何が言いたいのか分からない。
724720 (ワッチョイ 63b9-xL3o [180.178.88.6])
2018/11/16(金) 00:48:09.83ID:weOG1xUa0 >>723
ありがとうございます。
その部分は勝手な憶測なので気にしないで下さい。
例えば、int型はdouble型に型変換されることもあり得るので、
例) double[] array2 = new int[5];
のような記述が出来るのかな?と思っただけです。
ありがとうございます。
その部分は勝手な憶測なので気にしないで下さい。
例えば、int型はdouble型に型変換されることもあり得るので、
例) double[] array2 = new int[5];
のような記述が出来るのかな?と思っただけです。
725デフォルトの名無しさん (アウアウウー Sac7-unLA [106.133.56.93])
2018/11/16(金) 06:24:36.92ID:cFUtGW68a >>724
それは多態性というか暗黙的なキャストだな。
Javaではそれは出来ない。暗黙的キャストは便利なこともある反面、意図しないキャストでバグを生み出す可能性があるからJavaの設計思想とは相容れない。
それは多態性というか暗黙的なキャストだな。
Javaではそれは出来ない。暗黙的キャストは便利なこともある反面、意図しないキャストでバグを生み出す可能性があるからJavaの設計思想とは相容れない。
726デフォルトの名無しさん (ワッチョイ 03b6-gXlk [220.208.88.117])
2018/11/16(金) 07:10:27.50ID:tlDZCd2g0 >>724
子の型の代入を認めるのを共変というのだけれども
配列の型は共変だから型が継承関係にあるならば代入できるよ
Number[] a;
a = new Integer[5];
a = new Double[5];
子の型の代入を認めるのを共変というのだけれども
配列の型は共変だから型が継承関係にあるならば代入できるよ
Number[] a;
a = new Integer[5];
a = new Double[5];
727デフォルトの名無しさん (ワッチョイ 7feb-kR8l [219.105.104.142])
2018/11/16(金) 08:33:57.46ID:mPcqV91P0 >>722
まぁ自分が何気なく書いて意図した結果にならなくて混乱するようなことになるなよってことだと思う
まぁ自分が何気なく書いて意図した結果にならなくて混乱するようなことになるなよってことだと思う
728デフォルトの名無しさん (アウアウクー MM67-nbxn [36.11.225.112 [上級国民]])
2018/11/16(金) 16:52:39.39ID:OkLwTKGUM729720 (ワッチョイ 63b9-xL3o [180.178.88.6])
2018/11/16(金) 18:52:17.01ID:weOG1xUa0730デフォルトの名無しさん (ワッチョイ cfe8-maOp [153.151.198.252])
2018/11/17(土) 17:43:14.07ID:/eM8wfkM0 https://qiita.com/syu_chan_1005/items/46f94412f7493d6e60eb
このサイトに従ってBuild ArtifactsまでしてコマンドプロンプトでIdeaProjects\test\out\artifacts\test_jarから
「java test」
と実行したのですが
「エラー: メイン・クラスtestが見つからなかったかロードできませんでした」
と言われ実行できません。どのようにすればよろしいでしょうか。
このサイトに従ってBuild ArtifactsまでしてコマンドプロンプトでIdeaProjects\test\out\artifacts\test_jarから
「java test」
と実行したのですが
「エラー: メイン・クラスtestが見つからなかったかロードできませんでした」
と言われ実行できません。どのようにすればよろしいでしょうか。
731デフォルトの名無しさん (ワッチョイ cfe8-maOp [153.151.198.252])
2018/11/17(土) 17:58:07.43ID:/eM8wfkM0732デフォルトの名無しさん (アウアウウー Sac7-/d5m [106.180.45.160 [上級国民]])
2018/11/18(日) 13:21:56.54ID:KOW7JXzwa やだ〜へこむ〜
733デフォルトの名無しさん (ワッチョイ 63b9-xL3o [180.178.88.6])
2018/11/19(月) 17:22:08.06ID:ZS5AqKuz0 スッキリわかるJava入門の第8章の練習問題を解き、以下のような
Clericクラスを作ったのですが、
https://pastebin.com/EZdvVESb
英語にすると訳が分からなくなる言葉もあったので、それらはローマ字に
した結果、英単語とローマ字が混在するコードになってしまったのですが、
問題でしょうか?
Clericクラスを作ったのですが、
https://pastebin.com/EZdvVESb
英語にすると訳が分からなくなる言葉もあったので、それらはローマ字に
した結果、英単語とローマ字が混在するコードになってしまったのですが、
問題でしょうか?
734デフォルトの名無しさん (ワッチョイ e376-unLA [14.3.57.9])
2018/11/19(月) 18:13:02.26ID:vHw2N8A80 >>733
自分1人しか弄らないなら好きにすればいいよ。
どうせならローマ字じゃなくて漢字や平仮名を使って日本語でそのまま命名することもできるから試してみるといい。
ただし一般論、というか仕事でやる開発なら英語で統一するのが普通なのでそれは忘れちゃいけない。
自分1人しか弄らないなら好きにすればいいよ。
どうせならローマ字じゃなくて漢字や平仮名を使って日本語でそのまま命名することもできるから試してみるといい。
ただし一般論、というか仕事でやる開発なら英語で統一するのが普通なのでそれは忘れちゃいけない。
735デフォルトの名無しさん (スフッ Sd9f-By/H [49.104.24.6])
2018/11/19(月) 18:31:24.19ID:Je8g3va9d 入門に出てくるようなクラス名は普通に出てくる単語ばっかだろうからさっさと覚えたほうがいいでしょ
736デフォルトの名無しさん (アウアウカー Saa7-unLA [182.251.110.32])
2018/11/19(月) 18:39:15.60ID:97DIZmBta >>733
ソース見たけど、確かにkaifukuryoとか死ぬほど読みにくいから、これならいっそ「回復量」の日本語でもいいと思うw
ソース見たけど、確かにkaifukuryoとか死ぬほど読みにくいから、これならいっそ「回復量」の日本語でもいいと思うw
737デフォルトの名無しさん (アウアウカー Saa7-unLA [182.251.110.32])
2018/11/19(月) 18:40:59.11ID:97DIZmBta うちの社内システムは何年も前から部分的に日本語変数名も使ってるけど、特に問題が起きたことはないよ
ただこの話題で議論が紛糾して荒れるのをネットで見かけるから、何がなんでも絶対に許さない人達がいるのは間違いないw
ただこの話題で議論が紛糾して荒れるのをネットで見かけるから、何がなんでも絶対に許さない人達がいるのは間違いないw
738デフォルトの名無しさん (アウアウウー Sac7-AAco [106.132.135.194])
2018/11/19(月) 20:51:25.27ID:C68x9bSia うちの会社でうっかりそんなことしたら中国語で溢れるよ。あとドイツ語と英語。
あ、英語はいいのかw
あ、英語はいいのかw
739デフォルトの名無しさん (アウアウカー Saa7-mhdf [182.251.199.78])
2018/11/19(月) 23:59:34.33ID:qLcuYLw7a 総称型配列を生成したい…リフレクション使えばいける?
740733 (ワッチョイ 63b9-xL3o [180.178.88.6])
2018/11/20(火) 00:24:59.86ID:n8v7mGgD0 答えてくれた方、ありがとうございました。
なるべく英語で行くようにしたいと思います。
なるべく英語で行くようにしたいと思います。
741デフォルトの名無しさん (ワッチョイ 8371-mhdf [124.25.130.24])
2018/11/20(火) 00:28:00.33ID:MPotoW9R0 ローマ字は特に気にしないけどおかしな英語だとモヤる
登録でregistってなんやねん
登録でregistってなんやねん
742デフォルトの名無しさん (アウアウエー Sa5f-2qly [111.239.159.46])
2018/11/20(火) 01:25:13.23ID:+ftLPXCpa >>739
Array.newInstanceの結果をダウンキャスト
警告が出るが気にしない
外から引数でClass<T>を受け取るようにすれば多少はタイプセーフ風な雰囲気を醸し出せるかもしれない
Javaのジェネリックがハリボテの糞と呼ばれる所以だ
Array.newInstanceの結果をダウンキャスト
警告が出るが気にしない
外から引数でClass<T>を受け取るようにすれば多少はタイプセーフ風な雰囲気を醸し出せるかもしれない
Javaのジェネリックがハリボテの糞と呼ばれる所以だ
743デフォルトの名無しさん (ワッチョイ 7fd2-RJIg [27.139.3.34])
2018/11/20(火) 01:33:24.00ID:8KtihEK80744デフォルトの名無しさん (ワッチョイ 8371-mhdf [124.25.130.24])
2018/11/20(火) 01:42:27.99ID:MPotoW9R0745デフォルトの名無しさん (ブーイモ MMc7-2qly [202.214.230.97])
2018/11/20(火) 01:55:25.40ID:X8QFm2fdM Javaのジェネリクスが単なるObjectのシンタックスシュガーであることを考えると、
総称型の配列などというものは存在自体が常に虚偽であり明らかに矛盾していることがわかるだろう
Javaで総称型の配列が欲しいときは、ArrayList<>(これは実はObject[]をラップしている)を使うか、
単にObject[]を使っておいて辻褄合わせが必要なときに要素を適宜ダウンキャストしてやるかのどちらかだ
Javaのジェネリクスでは型の整合性を維持するのはジェネリックなメンバやクラスを作るプログラマの責任なんだよ
通常のアプリケーションコードで積極的に作るものではない
総称型の配列などというものは存在自体が常に虚偽であり明らかに矛盾していることがわかるだろう
Javaで総称型の配列が欲しいときは、ArrayList<>(これは実はObject[]をラップしている)を使うか、
単にObject[]を使っておいて辻褄合わせが必要なときに要素を適宜ダウンキャストしてやるかのどちらかだ
Javaのジェネリクスでは型の整合性を維持するのはジェネリックなメンバやクラスを作るプログラマの責任なんだよ
通常のアプリケーションコードで積極的に作るものではない
746デフォルトの名無しさん (スフッ Sd9f-By/H [49.104.27.144])
2018/11/20(火) 22:41:13.06ID:QYuuoNJVd silverの問題集の解説見ながら勉強してるけどコンスタントプールってのがあるんだなぁ(こなみかん)
747デフォルトの名無しさん (ワッチョイ 2361-A3/R [118.13.134.7])
2018/11/23(金) 21:42:39.82ID:UR66aWLO0 cyclopsを使ってダサいTRY-CATCHを改善してみたがカッコイイ
public static javafx.scene.image.Image loadImageFromFile(@NotNull Path path, double w, double h) {
return Try.withResources(() -> new FileInputStream(path.toFile()),
stream -> new javafx.scene.image.Image(stream, w, h, true, true),
IOException.class)
.onFail((e) -> GUICommon.debugMessage("loadImageFromFile >> File not found : " + path.toString()))
.get()
.orElse(null);
}
public static javafx.scene.image.Image loadImageFromURL(@NotNull URL url, double w, double h) {
return Try.withCatch(url::openConnection)
.peek(conn -> conn.setRequestProperty("User-Agent", "Wget/1.13.4 (linux-gnu)"))
.peek(conn -> conn.setRequestProperty("Referer", customReferrer(url, null)))
.flatMap(conn -> Try.withResources(conn::getInputStream,
stream -> new javafx.scene.image.Image(stream, w, h, true, true),
IOException.class))
.onFail((e) -> GUICommon.debugMessage("loadImageFromURL >> Cannot get image from : " + url.toString()))
.get()
.orElse(null);
}
public static javafx.scene.image.Image loadImageFromFile(@NotNull Path path, double w, double h) {
return Try.withResources(() -> new FileInputStream(path.toFile()),
stream -> new javafx.scene.image.Image(stream, w, h, true, true),
IOException.class)
.onFail((e) -> GUICommon.debugMessage("loadImageFromFile >> File not found : " + path.toString()))
.get()
.orElse(null);
}
public static javafx.scene.image.Image loadImageFromURL(@NotNull URL url, double w, double h) {
return Try.withCatch(url::openConnection)
.peek(conn -> conn.setRequestProperty("User-Agent", "Wget/1.13.4 (linux-gnu)"))
.peek(conn -> conn.setRequestProperty("Referer", customReferrer(url, null)))
.flatMap(conn -> Try.withResources(conn::getInputStream,
stream -> new javafx.scene.image.Image(stream, w, h, true, true),
IOException.class))
.onFail((e) -> GUICommon.debugMessage("loadImageFromURL >> Cannot get image from : " + url.toString()))
.get()
.orElse(null);
}
748デフォルトの名無しさん (ワッチョイ 97b9-DrDc [180.178.88.6])
2018/12/01(土) 03:52:43.89ID:dszPmHpM0 clone()メソッドについて質問です。
https://pastebin.com/iabGmAun
上記のBookクラスにおいて、フィールドに、Date型のpublishDateがあるのですが、
これをclone()でコピーするにあたっては深いコピーにする必要があるみたいなのですが、
String型は浅いコピーでよくてDate型は深いコピーにしないといけない理由は
何故でしょうか?
https://pastebin.com/iabGmAun
上記のBookクラスにおいて、フィールドに、Date型のpublishDateがあるのですが、
これをclone()でコピーするにあたっては深いコピーにする必要があるみたいなのですが、
String型は浅いコピーでよくてDate型は深いコピーにしないといけない理由は
何故でしょうか?
749デフォルトの名無しさん (ワッチョイ dfb6-k2CF [220.208.88.117])
2018/12/01(土) 11:04:34.18ID:5cBxQ4wD0 >>748
Date型は状態を変えられるから
たとえば単純にコピーするだけだと
こうなる
Book ┬ Date ─ 2018/12/01
Book ┘
Date.setTimeで状態を変えることができて
コピー先のBookの日付を変えると
コピー元のBookの日付も変わる
Bookごとに日付が異なるなら
BookをコピーするときにDateをコピーしないといけない
Stringは状態を変えられないから
同じものを参照しても問題ない
Date型は状態を変えられるから
たとえば単純にコピーするだけだと
こうなる
Book ┬ Date ─ 2018/12/01
Book ┘
Date.setTimeで状態を変えることができて
コピー先のBookの日付を変えると
コピー元のBookの日付も変わる
Bookごとに日付が異なるなら
BookをコピーするときにDateをコピーしないといけない
Stringは状態を変えられないから
同じものを参照しても問題ない
751デフォルトの名無しさん (ワッチョイ 96eb-o5Pc [121.102.14.170])
2018/12/02(日) 19:47:16.98ID:6vF3BQAf0 何でもいいから例外をなげたいんですけど
例外で調べても catch のサンプルばかりで投げ方がわかりません
例外で調べても catch のサンプルばかりで投げ方がわかりません
752デフォルトの名無しさん (ワッチョイ dfb6-gj8/ [220.208.88.117])
2018/12/02(日) 19:48:34.29ID:4+IlSjWZ0753デフォルトの名無しさん (ワッチョイ 96eb-o5Pc [121.102.14.170])
2018/12/02(日) 20:02:05.39ID:6vF3BQAf0754デフォルトの名無しさん (ワッチョイ cf9d-hzet [118.110.23.55])
2018/12/02(日) 21:44:32.63ID:324yNEli0 基礎からのサーブレット Servlet/jsp 2009
この本で勉強するのは古すぎか?
この本で勉強するのは古すぎか?
755デフォルトの名無しさん (アウアウカー Sacf-SCh2 [182.251.111.78])
2018/12/03(月) 07:20:06.09ID:ygSmLhmHa756デフォルトの名無しさん (アウアウカー Sacf-SCh2 [182.251.111.78])
2018/12/03(月) 07:21:19.23ID:ygSmLhmHa757デフォルトの名無しさん (ブーイモ MM72-NzKS [49.239.68.37])
2018/12/03(月) 08:28:43.59ID:sGONNGUuM エスアイアーではまだ十分役に立つよ
758デフォルトの名無しさん (ワッチョイ 52eb-KLSl [219.105.104.142])
2018/12/03(月) 18:42:47.05ID:C4qy2S1/0 列挙型のフィールドを持つクラスを作ったのですが……
同じ列挙型を2つ持たせる場合があるものの、1つのみ持つ場合もあることで問題が発生しています
コンストラクタ引数で列挙型指定する際に、必ず1つ指定するが、2つ目は(言うなら)nullでも構わない
列挙型の中にnull相当のものを追加してもよいと思ったのですが、それが1つ目に指定されてしまうと困るので追加したくない……という状態です
具体的には、いくつかの属性を列挙型で指定し、サブ属性は(同じ内容+(サブ属性なし))というかたちにしたいのです
サブ属性用に(同じ内容+なし)の列挙型を追加するしかないでしょうか……
同じ列挙型を2つ持たせる場合があるものの、1つのみ持つ場合もあることで問題が発生しています
コンストラクタ引数で列挙型指定する際に、必ず1つ指定するが、2つ目は(言うなら)nullでも構わない
列挙型の中にnull相当のものを追加してもよいと思ったのですが、それが1つ目に指定されてしまうと困るので追加したくない……という状態です
具体的には、いくつかの属性を列挙型で指定し、サブ属性は(同じ内容+(サブ属性なし))というかたちにしたいのです
サブ属性用に(同じ内容+なし)の列挙型を追加するしかないでしょうか……
759デフォルトの名無しさん (ワッチョイ dfb6-gj8/ [220.208.88.117])
2018/12/03(月) 19:43:01.66ID:SSwMcRlR0760デフォルトの名無しさん (ワッチョイ 7776-SCh2 [14.3.57.9])
2018/12/03(月) 20:03:14.72ID:YDqptBck0 >>754
つか、古すぎてその本に書いてあるバージョンの開発環境を用意する時点で挫折すると思う。
つか、古すぎてその本に書いてあるバージョンの開発環境を用意する時点で挫折すると思う。
761デフォルトの名無しさん (ワッチョイ 52eb-KLSl [219.105.104.142])
2018/12/03(月) 20:22:15.78ID:C4qy2S1/0762デフォルトの名無しさん (アウアウウー Saa3-2q9Y [106.132.139.33])
2018/12/03(月) 20:50:22.63ID:6IhUZ/y0a763デフォルトの名無しさん (ワッチョイ 52eb-KLSl [219.105.104.142])
2018/12/03(月) 21:24:42.76ID:C4qy2S1/0 >>762
それだと後々面倒だという理由があったような気がするんだけどむしろ後々表示するときに処理考えたほうが簡単に済みそうな気もしてきました……
こういう設計?ってどういう順番でやってくもんなんでしょうか
それだと後々面倒だという理由があったような気がするんだけどむしろ後々表示するときに処理考えたほうが簡単に済みそうな気もしてきました……
こういう設計?ってどういう順番でやってくもんなんでしょうか
764デフォルトの名無しさん (ワッチョイ 52eb-KLSl [219.105.104.142])
2018/12/03(月) 21:29:04.09ID:C4qy2S1/0 データを呼び出して表示する目的だったので、とりあえずtoStringのオーバーライドができてからデータ登録用のコンストラクタを調整していくことにしました
765デフォルトの名無しさん (アウアウカー Sacf-UuNc [182.251.184.127])
2018/12/05(水) 07:39:08.42ID:aQtlFGVia 拡張for文って配列でもコレクションでも動作しますよね?
ということは、双方に共通するクラスなりインターフェースなりがあるのでしょうか?
配列またはコレクションを引数に取る関数を作りたくて、内部処理は同じなので、オーバーロードではなく一つの関数で済ませたいのですが
ということは、双方に共通するクラスなりインターフェースなりがあるのでしょうか?
配列またはコレクションを引数に取る関数を作りたくて、内部処理は同じなので、オーバーロードではなく一つの関数で済ませたいのですが
766デフォルトの名無しさん (ブーイモ MMbb-NzKS [210.149.252.195])
2018/12/05(水) 08:50:55.63ID:uTDw63xLM767デフォルトの名無しさん (アウアウカー Sacf-UuNc [182.251.191.99])
2018/12/05(水) 12:36:33.07ID:1UnNMx3Qa >>766
ありがとうございます
それともう一つ質問させてください
リストを引数に取ってリストを返す関数で、よく
public <T> List<T> hoge(List<T> list){
// 何らかの処理
}
のように書きますが、この引数のリストがArrayListならArrayListを、LinkedListならLinkedListを、といったように、引数と同じ型のインスタンスを返したいです
ポリモーフィズムというよりは型クラスのイメージです
境界化して
public <A extends List<T>, T> A<T> piyo(A<T> list){}
のように書いてみましたが、「型Aは総称ではありません」とエラーになりました。
ワイルドカードなどを使えばいいのでしょうか?
というかあまりJava的な書き方ではないですかね?
ありがとうございます
それともう一つ質問させてください
リストを引数に取ってリストを返す関数で、よく
public <T> List<T> hoge(List<T> list){
// 何らかの処理
}
のように書きますが、この引数のリストがArrayListならArrayListを、LinkedListならLinkedListを、といったように、引数と同じ型のインスタンスを返したいです
ポリモーフィズムというよりは型クラスのイメージです
境界化して
public <A extends List<T>, T> A<T> piyo(A<T> list){}
のように書いてみましたが、「型Aは総称ではありません」とエラーになりました。
ワイルドカードなどを使えばいいのでしょうか?
というかあまりJava的な書き方ではないですかね?
768デフォルトの名無しさん (ブーイモ MMbb-NzKS [210.149.252.195])
2018/12/05(水) 13:09:26.62ID:uTDw63xLM >>767
引数の型と戻り値の型をAにすればいんじゃないでしょうか
私はそういうの必要になったことがないです
List返すぜヒャッハーなコードしか書いたことないです
Javaでそういうの書きまくってる世紀末ジェネリック伝説
みたいな人もいると思いますけど
引数の型と戻り値の型をAにすればいんじゃないでしょうか
私はそういうの必要になったことがないです
List返すぜヒャッハーなコードしか書いたことないです
Javaでそういうの書きまくってる世紀末ジェネリック伝説
みたいな人もいると思いますけど
769デフォルトの名無しさん (アウアウカー Sacf-UuNc [182.251.191.99])
2018/12/05(水) 15:53:00.93ID:1UnNMx3Qa770デフォルトの名無しさん (アウアウカー Sacf-zlOQ [182.251.134.89])
2018/12/05(水) 16:52:13.39ID:ifntcr/4a >>767
LinkedListってArrayListやListと用途が違う気が。。。
素直に?オーバーロードで良いんじゃ無いか?
多態性はジェネリックだけにあらずよ?
(と言うか、Java初期にはジェネリック無かったし)
LinkedListってArrayListやListと用途が違う気が。。。
素直に?オーバーロードで良いんじゃ無いか?
多態性はジェネリックだけにあらずよ?
(と言うか、Java初期にはジェネリック無かったし)
771デフォルトの名無しさん (アウアウカー Sacf-UuNc [182.251.191.99])
2018/12/05(水) 18:38:20.62ID:1UnNMx3Qa >>770
Listの汎用関数とか、Mapの汎用関数を作ってたら思った次第です
Mapなら、HashMapはHashMap、EnumMapはEnumMapで返したいなとかです
素直にオーバーロードしますね
ありがとうございました
Listの汎用関数とか、Mapの汎用関数を作ってたら思った次第です
Mapなら、HashMapはHashMap、EnumMapはEnumMapで返したいなとかです
素直にオーバーロードしますね
ありがとうございました
772デフォルトの名無しさん (アウアウウー Saa3-2q9Y [106.132.134.92])
2018/12/05(水) 20:40:25.38ID:tLhebNm/a それって呼び出す側にnewさせて引数で受け取れば良いだけでは?
自分でnewしてリターン値にしないなら関係なくなるよね。
自分でnewしてリターン値にしないなら関係なくなるよね。
773デフォルトの名無しさん (ワッチョイ 8f26-n9Ol [180.221.240.118])
2018/12/06(木) 10:12:58.64ID:Wmyc4Uu/0 素朴な疑問なのですが
Javaプログラマーってみんなオブジェクト指向やデザインパターンやイベントリスナーのしくみなんかを完璧に理解して使いこなせているんですか?
別に自慢じゃないけどオレは理系で高学歴ですが
こんな難解複雑なものをみんなたやすく理解できるものじゃないと思うのですが。
高校の数学物理化学をレベルの高い大学に受かるくらいの頭がないと無理と感じます。
Javaプログラマーってみんなオブジェクト指向やデザインパターンやイベントリスナーのしくみなんかを完璧に理解して使いこなせているんですか?
別に自慢じゃないけどオレは理系で高学歴ですが
こんな難解複雑なものをみんなたやすく理解できるものじゃないと思うのですが。
高校の数学物理化学をレベルの高い大学に受かるくらいの頭がないと無理と感じます。
774デフォルトの名無しさん (ワッチョイ 4680-7TzT [153.181.220.179])
2018/12/06(木) 11:07:38.61ID:nonVVsji0 デザインパターンは、オブジェクト同士の疎結合の歴史。
DI, Flux, Pub-Sub(発行・購読)とか
WEB+DB 106号に載ってる。
スマホアプリの設計。DI, MVVM, Flux
DI, Flux, Pub-Sub(発行・購読)とか
WEB+DB 106号に載ってる。
スマホアプリの設計。DI, MVVM, Flux
775デフォルトの名無しさん (アウアウカー Sae7-URvo [182.251.186.83])
2018/12/06(木) 12:20:30.95ID:UmHyXr4oa >>772
出来るだけ副作用のない関数にしたかったので、その手は見送りました
出来るだけ副作用のない関数にしたかったので、その手は見送りました
776デフォルトの名無しさん (アウアウウー Sadb-MnXc [106.132.124.116])
2018/12/06(木) 12:31:53.41ID:nzH90qpKa777デフォルトの名無しさん (ワッチョイ 8f26-n9Ol [180.221.240.118])
2018/12/06(木) 17:43:06.98ID:Wmyc4Uu/0778デフォルトの名無しさん (スププ Sdc2-OBga [49.98.63.102])
2018/12/06(木) 17:50:43.36ID:siOfDNuRd そういう事を聞かなくても行動できるのが、高収入な人だと思うけど。
779デフォルトの名無しさん (ワッチョイ 4ef7-pJWj [175.28.176.235])
2018/12/06(木) 17:55:06.03ID:jTeUvFfL0 グーの音もでねえw
780デフォルトの名無しさん (アウアウウー Sadb-MnXc [106.132.124.116])
2018/12/06(木) 18:08:44.44ID:nzH90qpKa グー
781デフォルトの名無しさん (ワッチョイ f7b3-hW9R [60.114.11.177])
2018/12/06(木) 19:12:26.31ID:Cn1g7mwL0782デフォルトの名無しさん (ワッチョイ 8f26-n9Ol [180.221.240.118])
2018/12/06(木) 19:33:36.24ID:Wmyc4Uu/0 >>781
なるほどそうなのですね。納得。
オレはわりと進学校出身だけど、まわりはみんな数学物理化学で苦労しててオレだけできたから
プログラマの仕事でもそう簡単にオブジェクト指向/デザインパターン/イベントリスナーを理解できる人はいない気はしていました。
でもこれに甘えずオレはどんどん勉強してスキルアップしていきたいと思います。
オレは経験がないだけど伸びしろは無限にあると思っているので。
オレみたいな人がやっぱりプログラミングに向いてるよね?w
高校レベルの数学物理化学で苦労するようじゃプログラミングも高度なことは絶対できなそうだし。
なるほどそうなのですね。納得。
オレはわりと進学校出身だけど、まわりはみんな数学物理化学で苦労しててオレだけできたから
プログラマの仕事でもそう簡単にオブジェクト指向/デザインパターン/イベントリスナーを理解できる人はいない気はしていました。
でもこれに甘えずオレはどんどん勉強してスキルアップしていきたいと思います。
オレは経験がないだけど伸びしろは無限にあると思っているので。
オレみたいな人がやっぱりプログラミングに向いてるよね?w
高校レベルの数学物理化学で苦労するようじゃプログラミングも高度なことは絶対できなそうだし。
783デフォルトの名無しさん (アウアウカー Sae7-URvo [182.251.182.80])
2018/12/06(木) 19:37:14.79ID:vPx9vAPGa >>782
傲慢であることはいわゆるプログラマーの三大美徳の1つなので安心して励んでください
傲慢であることはいわゆるプログラマーの三大美徳の1つなので安心して励んでください
784デフォルトの名無しさん (アウアウウー Sadb-MnXc [106.132.124.116])
2018/12/06(木) 19:44:56.31ID:nzH90qpKa いや、使われる能力がちょっと違うと思うぞ。
数学や物理が絡まなくはないし絡められるわけだが、かといってそんなもんほとんど知らないままプログラミングできるようになるやつは居るだろうしな。
数学や物理が絡まなくはないし絡められるわけだが、かといってそんなもんほとんど知らないままプログラミングできるようになるやつは居るだろうしな。
785デフォルトの名無しさん (ワッチョイ f7b3-hW9R [60.114.11.177])
2018/12/06(木) 20:46:52.33ID:Cn1g7mwL0 >>782
数物化が出来る→プログラミングが出来る
は一般に成り立たないかな
情報系でそれなりに良い成績を獲ってるけど実技系の科目の成績は低いみたいな人は結構いたりするし情報系であってもちゃんと理解出来てる人はそんなに多くない
まぁ相関が全く無いとは思わないけどね
数物化が出来る→プログラミングが出来る
は一般に成り立たないかな
情報系でそれなりに良い成績を獲ってるけど実技系の科目の成績は低いみたいな人は結構いたりするし情報系であってもちゃんと理解出来てる人はそんなに多くない
まぁ相関が全く無いとは思わないけどね
786デフォルトの名無しさん (アウアウカー Sae7-fK60 [182.251.115.43])
2018/12/07(金) 07:06:25.60ID:OaIqSJqTa >>785
そこらへんは知識そのものというより、求められる思考方法が近しいってのはある。
だから数学が出来ればプログラミングが出来るっていうより、数学の得意なタイプのやつはプログラミングも得意であることが多い、とかそういう感じだと思う
そこらへんは知識そのものというより、求められる思考方法が近しいってのはある。
だから数学が出来ればプログラミングが出来るっていうより、数学の得意なタイプのやつはプログラミングも得意であることが多い、とかそういう感じだと思う
787デフォルトの名無しさん (ワッチョイ 8b39-n9Ol [202.59.189.9])
2018/12/11(火) 03:28:29.21ID:BPBNTIF+0 Windows10のJava1.8以上のバージョンのSwingでの日本語入力する時、
編集中の行が画面の一番下の方の時に変換すると、日本語変換候補Windowが編集中の行と重なって、編集中の文字列を隠してしまうバグのようなものが
自分の環境ではおきるのですが、他の人はどうですか?
Swingのテキストコンポーネントでおきます。
編集中の行が画面の一番下の方の時に変換すると、日本語変換候補Windowが編集中の行と重なって、編集中の文字列を隠してしまうバグのようなものが
自分の環境ではおきるのですが、他の人はどうですか?
Swingのテキストコンポーネントでおきます。
788デフォルトの名無しさん (ワッチョイ 4eb6-u1j+ [111.90.13.55])
2018/12/11(火) 06:12:00.67ID:ms9OZaRY0 V2Cでもそうなる
789デフォルトの名無しさん (ワッチョイ 8b39-n9Ol [202.59.189.9])
2018/12/11(火) 13:05:28.74ID:BPBNTIF+0 >>788
ありがとう。
これだけ普通の条件で簡単に起きるのに、ずっとバグが直らないのはSwingで日本語入力なんてほとんど使われてないからなんだろうな。
Intellijとか使われてるけど、プログラム用のエディタだから日本語はほとんど入力されないのかな。
バグレポートかなんかしたいと思ったけど、ます英語を勉強しなきゃいけないし。
ありがとう。
これだけ普通の条件で簡単に起きるのに、ずっとバグが直らないのはSwingで日本語入力なんてほとんど使われてないからなんだろうな。
Intellijとか使われてるけど、プログラム用のエディタだから日本語はほとんど入力されないのかな。
バグレポートかなんかしたいと思ったけど、ます英語を勉強しなきゃいけないし。
790デフォルトの名無しさん (ワッチョイ 8b39-n9Ol [202.59.189.9])
2018/12/11(火) 13:10:54.23ID:BPBNTIF+0 編集中の行の下に候補ウィンドウを表示する時はうまくいくんだけど、
編集中の上に候補ウィンドウを表示する時(つまり編集中の行が画面の下の方の時)、重なってしまう。
IMEのAPIのバグらしく、Swing使ってる限り独自のテキストコンポーネントを作っても直らない。
編集中の上に候補ウィンドウを表示する時(つまり編集中の行が画面の下の方の時)、重なってしまう。
IMEのAPIのバグらしく、Swing使ってる限り独自のテキストコンポーネントを作っても直らない。
791デフォルトの名無しさん (ワッチョイ b571-S719 [58.1.161.248])
2018/12/14(金) 00:47:28.49ID:+doa0nVt0 3つ組の値を返したいときってそれ用のクラス作った方がいいの?
それとも汎用的なタプル的なの作ってそっちに詰め込んだ方がいい?
クラスにしたとして、他の箇所で使うかは微妙なところ
もしかしたらもう一回くらい使うかもってくらい
それとも汎用的なタプル的なの作ってそっちに詰め込んだ方がいい?
クラスにしたとして、他の箇所で使うかは微妙なところ
もしかしたらもう一回くらい使うかもってくらい
792デフォルトの名無しさん (アウアウウー Sacd-mTCp [106.132.132.34])
2018/12/14(金) 09:55:52.99ID:cCP3RgWTa >>791
配列やリスト等に突っ込んで返す方法もあるが、本当にそれで問題ないかはよく考えた方が良いと思う。
配列やリスト等に突っ込んで返す方法もあるが、本当にそれで問題ないかはよく考えた方が良いと思う。
793デフォルトの名無しさん (ワッチョイ 5176-cRZi [14.3.58.201])
2018/12/14(金) 17:58:19.96ID:mN1ioE7i0794デフォルトの名無しさん (ワッチョイ 5e80-GAmC [153.181.220.179])
2018/12/14(金) 18:57:38.32ID:yKLaTwQg0 Ruby なら、メソッドの委譲機能を定義する、forwardable, delegate
継承(is-a)じゃなくて、汎用的なコンテナ(配列・リスト・辞書)に処理を委譲するような形(has-a)
クラス内に、汎用的なコンテナを作って、
push, pop など、同じメソッド名で、処理を内部コンテナに丸投げする
継承(is-a)じゃなくて、汎用的なコンテナ(配列・リスト・辞書)に処理を委譲するような形(has-a)
クラス内に、汎用的なコンテナを作って、
push, pop など、同じメソッド名で、処理を内部コンテナに丸投げする
795デフォルトの名無しさん (ワッチョイ 8526-q1e7 [180.221.240.118])
2018/12/20(木) 10:29:23.88ID:uzBoRH9c0 VBAは経験豊富だけどJavaは初めてです。
もちろんいっぱい勉強しました。
転職アピールで取ったほうがいい資格はなにがありますでしょうか?
Java経験ないので面接の質疑応答と資格アピールでがんばろうと思うのですが。
資格受験はすぐに取り掛かる予定です。今月にでも!
もちろんいっぱい勉強しました。
転職アピールで取ったほうがいい資格はなにがありますでしょうか?
Java経験ないので面接の質疑応答と資格アピールでがんばろうと思うのですが。
資格受験はすぐに取り掛かる予定です。今月にでも!
796デフォルトの名無しさん (アウアウカー Sab5-Yn/N [182.251.189.236])
2018/12/20(木) 11:33:53.15ID:hE8cxs9Xa earとかwarがいまいちわからないです
開発時にファイルAでファイルB(別パッケージ)をimportして使っていて、eclipse上ではコンパイルも通っていました
でもデプロイ段階になってから、先輩にこの2つのパッケージは別々のwar?になるからimportできないよと言われました
自分の感覚だとそもそもそれでコンパイルが通るようになってるのがおかしい気がするのですが、Javaの世界だとそれが普通なんですか?
開発時にファイルAでファイルB(別パッケージ)をimportして使っていて、eclipse上ではコンパイルも通っていました
でもデプロイ段階になってから、先輩にこの2つのパッケージは別々のwar?になるからimportできないよと言われました
自分の感覚だとそもそもそれでコンパイルが通るようになってるのがおかしい気がするのですが、Javaの世界だとそれが普通なんですか?
797デフォルトの名無しさん (ワッチョイ 8526-q1e7 [180.221.240.118])
2018/12/20(木) 12:23:41.18ID:uzBoRH9c0 earは耳、warは戦争です。
発音の注意としては、warは「ウォー」であって「ウァー」ではありません。
ここを押さえておけば大丈夫。
発音の注意としては、warは「ウォー」であって「ウァー」ではありません。
ここを押さえておけば大丈夫。
798デフォルトの名無しさん (ワッチョイ de9f-12mQ [175.134.57.7])
2018/12/20(木) 22:34:23.24ID:6pIAvd2J0 うぁー
799デフォルトの名無しさん (ワッチョイ d99b-1vVt [122.135.201.206])
2018/12/20(木) 22:40:41.67ID:9plr5EIz0800デフォルトの名無しさん (ワッチョイ 9971-Yn/N [58.1.161.248])
2018/12/20(木) 22:44:39.27ID:JiVjjaVo0801デフォルトの名無しさん (ワッチョイ a680-JI52 [153.181.220.179])
2018/12/20(木) 23:04:28.20ID:IcrQnoua0 ear, war, tar など、ar とついているものは、zip などの圧縮 archive だろ。
サーバーにデプロイするために、1つにまとめる
だから、a.ear の中から、b.war の中の、オブジェクト・関数などは使えないのだろう
2つもデプロイしないから。
デプロイするのは、1つだけ
「java ear war」で検索!
サーバーにデプロイするために、1つにまとめる
だから、a.ear の中から、b.war の中の、オブジェクト・関数などは使えないのだろう
2つもデプロイしないから。
デプロイするのは、1つだけ
「java ear war」で検索!
802デフォルトの名無しさん (スププ Sdca-9cAm [49.98.64.171])
2018/12/20(木) 23:44:55.08ID:uRkd43kpd >>801
tarは非圧縮では?
tarは非圧縮では?
803デフォルトの名無しさん (ワッチョイ 9a80-Lq2G [149.54.247.192])
2018/12/22(土) 02:51:17.48ID:Mf8aObFB0 本来アーカイブと圧縮は別だからな
804デフォルトの名無しさん (アウアウウー Sa01-0FqV [106.132.121.185])
2018/12/23(日) 17:21:45.07ID:yY9Kiav4a tarは頭からファイル名、内容の順で入ってるだけだからいまいち使い辛いな。
ファイル名出したいだけでも途中に大きいファイルがあると待たされる。
テープ装置用のコマンドを無理矢理使い回してるのがいかんよな。
せめてファイル名だけ並べたヘッダだけでも別に用意すればいいのに。
ファイル名出したいだけでも途中に大きいファイルがあると待たされる。
テープ装置用のコマンドを無理矢理使い回してるのがいかんよな。
せめてファイル名だけ並べたヘッダだけでも別に用意すればいいのに。
805デフォルトの名無しさん (ワッチョイ 9e99-EJDH [119.24.130.156])
2018/12/23(日) 19:04:58.22ID:TNYL2NhX0 >>804
テープ用のコマンドを無理矢理使いまわしてるんじゃなくて、今でもテープに書いたりもするぞ。-Mでマルチボリュームにして、-Lでサイズ指定したらテープ交換メッセージ出る。
そうしとかないとボリュームまたぎのファイル探しづらいし、そういうもんじゃねえかなぁ。
ディスクに落とすとしても、ボリューム切り替わるたびに最初のディスク入れさせるとか狂気の沙汰な気がする。
テープ用のコマンドを無理矢理使いまわしてるんじゃなくて、今でもテープに書いたりもするぞ。-Mでマルチボリュームにして、-Lでサイズ指定したらテープ交換メッセージ出る。
そうしとかないとボリュームまたぎのファイル探しづらいし、そういうもんじゃねえかなぁ。
ディスクに落とすとしても、ボリューム切り替わるたびに最初のディスク入れさせるとか狂気の沙汰な気がする。
806デフォルトの名無しさん (アウアウウー Sa01-q1e7 [106.132.136.163])
2018/12/25(火) 17:56:14.99ID:Waofyifpa まあ今でもテープ装置があれば使うのはわかる。
しかしテープではなく普通のファイルに書くならもう一ひねり欲しいところ。
しかしテープではなく普通のファイルに書くならもう一ひねり欲しいところ。
807デフォルトの名無しさん (ワッチョイ 05c5-zl38 [114.134.99.62])
2019/01/01(火) 16:14:58.54ID:rBFfBn4R0 silver黒本で勉強してて、例外終わらせたと思ったら最終章でラムダ式とかいう完全に新しいやつでてきてわろた
仕様が覚えられん
仕様が覚えられん
808デフォルトの名無しさん (ブーイモ MM0b-03bl [163.49.210.159])
2019/01/01(火) 16:40:11.15ID:uncIR6SLM ラムダなんか平均的なJava土方現場ならもれなく使用禁止だから安心していい
その証拠にこのスレでも滅多に出てこないだろ?
その証拠にこのスレでも滅多に出てこないだろ?
809デフォルトの名無しさん (スププ Sd03-zl38 [49.96.19.66])
2019/01/01(火) 16:44:18.00ID:qkJ7OcChd そうなのか、まあ試験用で一通り覚えないといけないけど
考え方とか他の言語やるときに役立つかな
考え方とか他の言語やるときに役立つかな
Javaのラムダはコンビネータを記述できますか?出来ないのなら不要(ラムダの意味がない)と思います
811デフォルトの名無しさん (ワッチョイ 35ec-3Lsi [58.1.161.248])
2019/01/01(火) 18:42:27.39ID:d0qESFYs0 ラムダっていうか関数型の概念をJavaを通じて学ぶのは無謀だから試験用に割り切るしかない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- 【悲報】高市早苗の擬人化がXで大バズりwwwwwwwwwwww [455031798]
- ヨッシー、ヘイホー、テレサ ←こいつらwwwwwwwww
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- くそしてかがやけ
- 【画像】カリカリ女、脱いだらすごい😨 [632966346]
