Java入門・初心者質問スレ Part.8

■ このスレッドは過去ログ倉庫に格納されています
2018/06/07(木) 20:17:08.87ID:N8MsK2gr0
Java初心者のためのスレッドです。

※前スレ
Java入門・初心者質問スレ Part.7
http://mevius.5ch.net/test/read.cgi/tech/1515549964/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured
2018/11/15(木) 07:27:10.15ID:AxNEuJ7Oa
そうですか残念です。
2018/11/15(木) 08:34:12.11ID:g74yzjtM0
Ruby なら、uniq で、配列内の重複した要素を削除できるから、それで文字数を数えて比較すれば?
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 でできると思うので、プログラムの側でこれにマッチしないものを処理すれば良いのではないかな。
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触ってねーぞ。
2018/11/15(木) 15:12:37.43ID:pPH/bz/I0
>>713
ありがとうございます。
参考にさせてもらって、その正規表現の効果をぐぐって見て
自分でもいけそうな気がしたのですが。
NGになってしまいます。
何が間違えてますか・・・

String a ="aac";

if(a.matches("(.).*\1")){

System.out.println("OK");

}else{

System.out.println("NG");

}

>>712
>>714
ありがとう、ございます。
それらとは別のやり方ですがヒントになりました。
特定の文字をAllreplaceで""にして原本とのlength()の差で
選別する感じでひとまずいけました。
716114 (アウアウカー 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
\ 記号はエスケープ文字なので \\ にする。
2018/11/15(木) 15:32:48.07
ありがとうございます。
\\でもNG出て
if(a.matches(".*(.).*\\1.*")){
にさせてもらったら
期待通りの結果がでるようになりました。
ありがとうございました。
719デフォルトの名無しさん (アウアウウー Sac7-AAco [106.132.124.87])
垢版 |
2018/11/15(木) 16:12:34.80ID:RDhHOc3na
あー。そうか。matches() は前後に暗黙の ^$ が入るんだったな。
2018/11/15(木) 19:45:12.42ID:y/xxNwdx0
配列変数の宣言と配列を作成する文において、配列の型を2回記述しないと
いけない理由は何ですか?
例) int[] array = new int[5];
インスタンス変数の宣言文と似ていますが、もしかして配列においても
多態性が使えるんですか?
721デフォルトの名無しさん (アウアウウー Sac7-AAco [106.132.124.87])
垢版 |
2018/11/15(木) 20:07:38.69ID:RDhHOc3na
元々Javaは型推論しない言語だからなあ。
2018/11/15(木) 20:56:36.68ID:zE6igjOyd
bronzeの問題見てるけどインクリメントの後置やらfor文のブロック省略やら、引っ掻けたいだけの問題多すぎない?
2018/11/15(木) 21:05:38.09ID:cJq6eeYEa
>>720
理由と言われても、そう言う言語仕様だから。もう20年以上前に設計された言語だから、今の基準で見たら冗長な表現が多々ある。

あと配列においても多態性が〜、の部分は何が言いたいのか分からない。
2018/11/16(金) 00:48:09.83ID:weOG1xUa0
>>723
ありがとうございます。

その部分は勝手な憶測なので気にしないで下さい。
例えば、int型はdouble型に型変換されることもあり得るので、
例) double[] array2 = new int[5];
のような記述が出来るのかな?と思っただけです。
2018/11/16(金) 06:24:36.92ID:cFUtGW68a
>>724
それは多態性というか暗黙的なキャストだな。
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];
2018/11/16(金) 08:33:57.46ID:mPcqV91P0
>>722
まぁ自分が何気なく書いて意図した結果にならなくて混乱するようなことになるなよってことだと思う
728デフォルトの名無しさん (アウアウクー MM67-nbxn [36.11.225.112 [上級国民]])
垢版 |
2018/11/16(金) 16:52:39.39ID:OkLwTKGUM
>>722
プログラミング言語の資格はそういうもの。

そもそもC言語の影響を受けた言語では細かい部分を知っていないと、他人が書いたコードが読めない。
2018/11/16(金) 18:52:17.01ID:weOG1xUa0
>>725
ありがとうございます。

>>726
ありがとうございます。プリミティブ型は継承関係に無いから駄目ですね。
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が見つからなかったかロードできませんでした」
と言われ実行できません。どのようにすればよろしいでしょうか。
2018/11/17(土) 17:58:07.43ID:/eM8wfkM0
>>730
自己解決しました。
.jarをjavaで走らそうとしたのが問題だったみたいで、
java -jar test.jarと入力したら無事出力されました。
2018/11/18(日) 13:21:56.54ID:KOW7JXzwa
やだ〜へこむ〜
2018/11/19(月) 17:22:08.06ID:ZS5AqKuz0
スッキリわかるJava入門の第8章の練習問題を解き、以下のような
Clericクラスを作ったのですが、
https://pastebin.com/EZdvVESb
英語にすると訳が分からなくなる言葉もあったので、それらはローマ字に
した結果、英単語とローマ字が混在するコードになってしまったのですが、
問題でしょうか?
2018/11/19(月) 18:13:02.26ID:vHw2N8A80
>>733
自分1人しか弄らないなら好きにすればいいよ。
どうせならローマ字じゃなくて漢字や平仮名を使って日本語でそのまま命名することもできるから試してみるといい。

ただし一般論、というか仕事でやる開発なら英語で統一するのが普通なのでそれは忘れちゃいけない。
2018/11/19(月) 18:31:24.19ID:Je8g3va9d
入門に出てくるようなクラス名は普通に出てくる単語ばっかだろうからさっさと覚えたほうがいいでしょ
2018/11/19(月) 18:39:15.60ID:97DIZmBta
>>733
ソース見たけど、確かにkaifukuryoとか死ぬほど読みにくいから、これならいっそ「回復量」の日本語でもいいと思うw
2018/11/19(月) 18:40:59.11ID:97DIZmBta
うちの社内システムは何年も前から部分的に日本語変数名も使ってるけど、特に問題が起きたことはないよ

ただこの話題で議論が紛糾して荒れるのをネットで見かけるから、何がなんでも絶対に許さない人達がいるのは間違いないw
738デフォルトの名無しさん (アウアウウー Sac7-AAco [106.132.135.194])
垢版 |
2018/11/19(月) 20:51:25.27ID:C68x9bSia
うちの会社でうっかりそんなことしたら中国語で溢れるよ。あとドイツ語と英語。

あ、英語はいいのかw
2018/11/19(月) 23:59:34.33ID:qLcuYLw7a
総称型配列を生成したい…リフレクション使えばいける?
2018/11/20(火) 00:24:59.86ID:n8v7mGgD0
答えてくれた方、ありがとうございました。
なるべく英語で行くようにしたいと思います。
2018/11/20(火) 00:28:00.33ID:MPotoW9R0
ローマ字は特に気にしないけどおかしな英語だとモヤる
登録でregistってなんやねん
2018/11/20(火) 01:25:13.23ID:+ftLPXCpa
>>739
Array.newInstanceの結果をダウンキャスト
警告が出るが気にしない
外から引数でClass<T>を受け取るようにすれば多少はタイプセーフ風な雰囲気を醸し出せるかもしれない
Javaのジェネリックがハリボテの糞と呼ばれる所以だ
743デフォルトの名無しさん (ワッチョイ 7fd2-RJIg [27.139.3.34])
垢版 |
2018/11/20(火) 01:33:24.00ID:8KtihEK80
>>741
すまん。昔量産してしまった
区分フラグとかも
2018/11/20(火) 01:42:27.99ID:MPotoW9R0
>>743
まあモヤるレベルだから別にいいんだけどさ
終わりの見えない関数とか、読み解くと結局意味のない処理とか、Objectに全てを詰め込み中身を変えまくる黒魔術に比べたら可愛いもんさ、ハハハ……
2018/11/20(火) 01:55:25.40ID:X8QFm2fdM
Javaのジェネリクスが単なるObjectのシンタックスシュガーであることを考えると、
総称型の配列などというものは存在自体が常に虚偽であり明らかに矛盾していることがわかるだろう
Javaで総称型の配列が欲しいときは、ArrayList<>(これは実はObject[]をラップしている)を使うか、
単にObject[]を使っておいて辻褄合わせが必要なときに要素を適宜ダウンキャストしてやるかのどちらかだ
Javaのジェネリクスでは型の整合性を維持するのはジェネリックなメンバやクラスを作るプログラマの責任なんだよ
通常のアプリケーションコードで積極的に作るものではない
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);
}
2018/12/01(土) 03:52:43.89ID:dszPmHpM0
clone()メソッドについて質問です。
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は状態を変えられないから
同じものを参照しても問題ない
2018/12/01(土) 12:12:49.53ID:dszPmHpM0
>>749
丁寧にありがとうございました。
2018/12/02(日) 19:47:16.98ID:6vF3BQAf0
何でもいいから例外をなげたいんですけど
例外で調べても catch のサンプルばかりで投げ方がわかりません
752デフォルトの名無しさん (ワッチョイ dfb6-gj8/ [220.208.88.117])
垢版 |
2018/12/02(日) 19:48:34.29ID:4+IlSjWZ0
>>751
throw new Exception("テスト");
これでおk
2018/12/02(日) 20:02:05.39ID:6vF3BQAf0
>>752
new でふつうにclassみたいに作れるんですね
ありがとうございました
754デフォルトの名無しさん (ワッチョイ cf9d-hzet [118.110.23.55])
垢版 |
2018/12/02(日) 21:44:32.63ID:324yNEli0
基礎からのサーブレット Servlet/jsp 2009
この本で勉強するのは古すぎか?
2018/12/03(月) 07:20:06.09ID:ygSmLhmHa
>>753
みたいにっていうか、クラスだから。
Exceptionを継承して独自の例外クラスも作れる。
2018/12/03(月) 07:21:19.23ID:ygSmLhmHa
>>754
古すぎる。古文書レベル。
役に立たないどころか現代ではやってはいけないとされてるやり方が載ってる可能性もあるから、それを覚えてしまってむしろマイナスになるまであり得る。
2018/12/03(月) 08:28:43.59ID:sGONNGUuM
エスアイアーではまだ十分役に立つよ
2018/12/03(月) 18:42:47.05ID:C4qy2S1/0
列挙型のフィールドを持つクラスを作ったのですが……
同じ列挙型を2つ持たせる場合があるものの、1つのみ持つ場合もあることで問題が発生しています
コンストラクタ引数で列挙型指定する際に、必ず1つ指定するが、2つ目は(言うなら)nullでも構わない
列挙型の中にnull相当のものを追加してもよいと思ったのですが、それが1つ目に指定されてしまうと困るので追加したくない……という状態です

具体的には、いくつかの属性を列挙型で指定し、サブ属性は(同じ内容+(サブ属性なし))というかたちにしたいのです
サブ属性用に(同じ内容+なし)の列挙型を追加するしかないでしょうか……
759デフォルトの名無しさん (ワッチョイ dfb6-gj8/ [220.208.88.117])
垢版 |
2018/12/03(月) 19:43:01.66ID:SSwMcRlR0
>>758
引数チェックして例外投げればいんじゃない?
https://paiza.io/projects/smPMtDarEAoBp1uNWPYm8w?language=java
2018/12/03(月) 20:03:14.72ID:YDqptBck0
>>754
つか、古すぎてその本に書いてあるバージョンの開発環境を用意する時点で挫折すると思う。
2018/12/03(月) 20:22:15.78ID:C4qy2S1/0
>>759
そうか、1つ目にnull入れられないようにチェック入れりゃよかったんですね
エラーを使う発想がなかった
762デフォルトの名無しさん (アウアウウー Saa3-2q9Y [106.132.139.33])
垢版 |
2018/12/03(月) 20:50:22.63ID:6IhUZ/y0a
>>758
どういう状況なのかよくわからない。
同じメソッド名で一つの引数のやつと二つの引数のやつ作れば良いだけってことない?
つまりメソッドのオーバーロード。
2018/12/03(月) 21:24:42.76ID:C4qy2S1/0
>>762
それだと後々面倒だという理由があったような気がするんだけどむしろ後々表示するときに処理考えたほうが簡単に済みそうな気もしてきました……
こういう設計?ってどういう順番でやってくもんなんでしょうか
2018/12/03(月) 21:29:04.09ID:C4qy2S1/0
データを呼び出して表示する目的だったので、とりあえずtoStringのオーバーライドができてからデータ登録用のコンストラクタを調整していくことにしました
2018/12/05(水) 07:39:08.42ID:aQtlFGVia
拡張for文って配列でもコレクションでも動作しますよね?
ということは、双方に共通するクラスなりインターフェースなりがあるのでしょうか?
配列またはコレクションを引数に取る関数を作りたくて、内部処理は同じなので、オーバーロードではなく一つの関数で済ませたいのですが
2018/12/05(水) 08:50:55.63ID:uTDw63xLM
>>765
共通のインターフェースは存在しないです
コンパイラがIterableか配列か判断して処理します

オーバーロードを使いましょう
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的な書き方ではないですかね?
2018/12/05(水) 13:09:26.62ID:uTDw63xLM
>>767
引数の型と戻り値の型をAにすればいんじゃないでしょうか

私はそういうの必要になったことがないです
List返すぜヒャッハーなコードしか書いたことないです

Javaでそういうの書きまくってる世紀末ジェネリック伝説
みたいな人もいると思いますけど
2018/12/05(水) 15:53:00.93ID:1UnNMx3Qa
>>768
何度もありがとうございます
混乱させるのも嫌なので普通の書き方に準拠します
Javaは慣れてないので勉強します
770デフォルトの名無しさん (アウアウカー Sacf-zlOQ [182.251.134.89])
垢版 |
2018/12/05(水) 16:52:13.39ID:ifntcr/4a
>>767
LinkedListってArrayListやListと用途が違う気が。。。
素直に?オーバーロードで良いんじゃ無いか?
多態性はジェネリックだけにあらずよ?
(と言うか、Java初期にはジェネリック無かったし)
2018/12/05(水) 18:38:20.62ID:1UnNMx3Qa
>>770
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してリターン値にしないなら関係なくなるよね。
773デフォルトの名無しさん (ワッチョイ 8f26-n9Ol [180.221.240.118])
垢版 |
2018/12/06(木) 10:12:58.64ID:Wmyc4Uu/0
素朴な疑問なのですが
Javaプログラマーってみんなオブジェクト指向やデザインパターンやイベントリスナーのしくみなんかを完璧に理解して使いこなせているんですか?
別に自慢じゃないけどオレは理系で高学歴ですが
こんな難解複雑なものをみんなたやすく理解できるものじゃないと思うのですが。
高校の数学物理化学をレベルの高い大学に受かるくらいの頭がないと無理と感じます。
2018/12/06(木) 11:07:38.61ID:nonVVsji0
デザインパターンは、オブジェクト同士の疎結合の歴史。
DI, Flux, Pub-Sub(発行・購読)とか

WEB+DB 106号に載ってる。
スマホアプリの設計。DI, MVVM, Flux
2018/12/06(木) 12:20:30.95ID:UmHyXr4oa
>>772
出来るだけ副作用のない関数にしたかったので、その手は見送りました
776デフォルトの名無しさん (アウアウウー Sadb-MnXc [106.132.124.116])
垢版 |
2018/12/06(木) 12:31:53.41ID:nzH90qpKa
>>773
容易くかどうかはわからんが、ずっとやってりゃ小学生でもわかるようになると思うけどな。
このスレにもいないか?小学生の頃からプログラミングたできたやつ。
777デフォルトの名無しさん (ワッチョイ 8f26-n9Ol [180.221.240.118])
垢版 |
2018/12/06(木) 17:43:06.98ID:Wmyc4Uu/0
>>774
>>776
なるほど。
まあワタシは頭がいいのですぐ理解して使いこなせそうですが。
ハッハッハ!

ところでスキルを身に着けたときやっぱり報酬は期待したいのですが
年収1000万以上、できるだけ高く、を目指すためには、どのようなことをすればいいですか?
これはヒューマンスキルも大きくかかってくると思いますが、具体的にどんなことをすれば高収入になりますか?
野球でも年俸はFAがからむと高収入になるし、それがないと成績がいいのに低収入の選手もいるし、
なにかコツを知ってるだけで同じスキルなのに収入は天と地ほどの大差になるというのが現状のような気がして。
2018/12/06(木) 17:50:43.36ID:siOfDNuRd
そういう事を聞かなくても行動できるのが、高収入な人だと思うけど。
2018/12/06(木) 17:55:06.03ID:jTeUvFfL0
グーの音もでねえw
780デフォルトの名無しさん (アウアウウー Sadb-MnXc [106.132.124.116])
垢版 |
2018/12/06(木) 18:08:44.44ID:nzH90qpKa
グー
2018/12/06(木) 19:12:26.31ID:Cn1g7mwL0
>>773
ちゃんと理解出来ている人は極少数だと思う
でも理解出来てなくてもある程度実装は出来てしまうしプログラマにも成れてしまうからどヤバいコードが生成されてしまったりするわけで
782デフォルトの名無しさん (ワッチョイ 8f26-n9Ol [180.221.240.118])
垢版 |
2018/12/06(木) 19:33:36.24ID:Wmyc4Uu/0
>>781
なるほどそうなのですね。納得。
オレはわりと進学校出身だけど、まわりはみんな数学物理化学で苦労しててオレだけできたから
プログラマの仕事でもそう簡単にオブジェクト指向/デザインパターン/イベントリスナーを理解できる人はいない気はしていました。

でもこれに甘えずオレはどんどん勉強してスキルアップしていきたいと思います。
オレは経験がないだけど伸びしろは無限にあると思っているので。

オレみたいな人がやっぱりプログラミングに向いてるよね?w
高校レベルの数学物理化学で苦労するようじゃプログラミングも高度なことは絶対できなそうだし。
2018/12/06(木) 19:37:14.79ID:vPx9vAPGa
>>782
傲慢であることはいわゆるプログラマーの三大美徳の1つなので安心して励んでください
784デフォルトの名無しさん (アウアウウー Sadb-MnXc [106.132.124.116])
垢版 |
2018/12/06(木) 19:44:56.31ID:nzH90qpKa
いや、使われる能力がちょっと違うと思うぞ。
数学や物理が絡まなくはないし絡められるわけだが、かといってそんなもんほとんど知らないままプログラミングできるようになるやつは居るだろうしな。
2018/12/06(木) 20:46:52.33ID:Cn1g7mwL0
>>782
数物化が出来る→プログラミングが出来る
は一般に成り立たないかな
情報系でそれなりに良い成績を獲ってるけど実技系の科目の成績は低いみたいな人は結構いたりするし情報系であってもちゃんと理解出来てる人はそんなに多くない
まぁ相関が全く無いとは思わないけどね
2018/12/07(金) 07:06:25.60ID:OaIqSJqTa
>>785
そこらへんは知識そのものというより、求められる思考方法が近しいってのはある。
だから数学が出来ればプログラミングが出来るっていうより、数学の得意なタイプのやつはプログラミングも得意であることが多い、とかそういう感じだと思う
2018/12/11(火) 03:28:29.21ID:BPBNTIF+0
Windows10のJava1.8以上のバージョンのSwingでの日本語入力する時、
編集中の行が画面の一番下の方の時に変換すると、日本語変換候補Windowが編集中の行と重なって、編集中の文字列を隠してしまうバグのようなものが
自分の環境ではおきるのですが、他の人はどうですか?

Swingのテキストコンポーネントでおきます。
788デフォルトの名無しさん (ワッチョイ 4eb6-u1j+ [111.90.13.55])
垢版 |
2018/12/11(火) 06:12:00.67ID:ms9OZaRY0
V2Cでもそうなる
2018/12/11(火) 13:05:28.74ID:BPBNTIF+0
>>788
ありがとう。
これだけ普通の条件で簡単に起きるのに、ずっとバグが直らないのはSwingで日本語入力なんてほとんど使われてないからなんだろうな。
Intellijとか使われてるけど、プログラム用のエディタだから日本語はほとんど入力されないのかな。


バグレポートかなんかしたいと思ったけど、ます英語を勉強しなきゃいけないし。
2018/12/11(火) 13:10:54.23ID:BPBNTIF+0
編集中の行の下に候補ウィンドウを表示する時はうまくいくんだけど、
編集中の上に候補ウィンドウを表示する時(つまり編集中の行が画面の下の方の時)、重なってしまう。
IMEのAPIのバグらしく、Swing使ってる限り独自のテキストコンポーネントを作っても直らない。
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
配列やリスト等に突っ込んで返す方法もあるが、本当にそれで問題ないかはよく考えた方が良いと思う。
2018/12/14(金) 17:58:19.96ID:mN1ioE7i0
>>791
Hashmapに突っ込むとかもある。
俺なら絶対にクラスを作るけど。
2018/12/14(金) 18:57:38.32ID:yKLaTwQg0
Ruby なら、メソッドの委譲機能を定義する、forwardable, delegate

継承(is-a)じゃなくて、汎用的なコンテナ(配列・リスト・辞書)に処理を委譲するような形(has-a)

クラス内に、汎用的なコンテナを作って、
push, pop など、同じメソッド名で、処理を内部コンテナに丸投げする
795デフォルトの名無しさん (ワッチョイ 8526-q1e7 [180.221.240.118])
垢版 |
2018/12/20(木) 10:29:23.88ID:uzBoRH9c0
VBAは経験豊富だけどJavaは初めてです。
もちろんいっぱい勉強しました。
転職アピールで取ったほうがいい資格はなにがありますでしょうか?
Java経験ないので面接の質疑応答と資格アピールでがんばろうと思うのですが。

資格受験はすぐに取り掛かる予定です。今月にでも!
2018/12/20(木) 11:33:53.15ID:hE8cxs9Xa
earとかwarがいまいちわからないです
開発時にファイル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は「ウォー」であって「ウァー」ではありません。
ここを押さえておけば大丈夫。
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:9plr5EIz0
>>796
それはear、war云々の話ではなく
開発段階とデプロイ段階で違うことをやってるのがおかしいという話では?
2018/12/20(木) 22:44:39.27ID:JiVjjaVo0
>>799
あ、それです
ただJava界隈だとそれが普通なのかなと思いまして
2018/12/20(木) 23:04:28.20ID:IcrQnoua0
ear, war, tar など、ar とついているものは、zip などの圧縮 archive だろ。
サーバーにデプロイするために、1つにまとめる

だから、a.ear の中から、b.war の中の、オブジェクト・関数などは使えないのだろう

2つもデプロイしないから。
デプロイするのは、1つだけ

「java ear war」で検索!
2018/12/20(木) 23:44:55.08ID:uRkd43kpd
>>801
tarは非圧縮では?
2018/12/22(土) 02:51:17.48ID:Mf8aObFB0
本来アーカイブと圧縮は別だからな
804デフォルトの名無しさん (アウアウウー Sa01-0FqV [106.132.121.185])
垢版 |
2018/12/23(日) 17:21:45.07ID:yY9Kiav4a
tarは頭からファイル名、内容の順で入ってるだけだからいまいち使い辛いな。
ファイル名出したいだけでも途中に大きいファイルがあると待たされる。
テープ装置用のコマンドを無理矢理使い回してるのがいかんよな。
せめてファイル名だけ並べたヘッダだけでも別に用意すればいいのに。
2018/12/23(日) 19:04:58.22ID:TNYL2NhX0
>>804
テープ用のコマンドを無理矢理使いまわしてるんじゃなくて、今でもテープに書いたりもするぞ。-Mでマルチボリュームにして、-Lでサイズ指定したらテープ交換メッセージ出る。
そうしとかないとボリュームまたぎのファイル探しづらいし、そういうもんじゃねえかなぁ。
ディスクに落とすとしても、ボリューム切り替わるたびに最初のディスク入れさせるとか狂気の沙汰な気がする。
806デフォルトの名無しさん (アウアウウー Sa01-q1e7 [106.132.136.163])
垢版 |
2018/12/25(火) 17:56:14.99ID:Waofyifpa
まあ今でもテープ装置があれば使うのはわかる。
しかしテープではなく普通のファイルに書くならもう一ひねり欲しいところ。
2019/01/01(火) 16:14:58.54ID:rBFfBn4R0
silver黒本で勉強してて、例外終わらせたと思ったら最終章でラムダ式とかいう完全に新しいやつでてきてわろた
仕様が覚えられん
2019/01/01(火) 16:40:11.15ID:uncIR6SLM
ラムダなんか平均的なJava土方現場ならもれなく使用禁止だから安心していい
その証拠にこのスレでも滅多に出てこないだろ?
2019/01/01(火) 16:44:18.00ID:qkJ7OcChd
そうなのか、まあ試験用で一通り覚えないといけないけど
考え方とか他の言語やるときに役立つかな
2019/01/01(火) 17:32:31.57ID:+TypiBw50
Javaのラムダはコンビネータを記述できますか?出来ないのなら不要(ラムダの意味がない)と思います
2019/01/01(火) 18:42:27.39ID:d0qESFYs0
ラムダっていうか関数型の概念をJavaを通じて学ぶのは無謀だから試験用に割り切るしかない
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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