X



Java入門・初心者質問スレ Part.4 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0586デフォルトの名無しさん
垢版 |
2017/09/11(月) 23:51:12.72ID:QNy5oHUR
C#もそうだけどモダンな言語ってのは関数型の取り込みが進んでるんだよ(Javaはモダンじゃないって?)
んで関数型はデータを純粋なデータとして扱う事が多い
だから隠蔽されたクラスより公開された構造体の方が合ってるんだね
0587デフォルトの名無しさん
垢版 |
2017/09/12(火) 00:08:26.83ID:APGFN74L
質問です。
コンストラクタにはpublicを付けた方がいいのでしょうか?
それとも付けない方がいいのでしょうか?
0590デフォルトの名無しさん
垢版 |
2017/09/12(火) 01:31:43.91ID:wkDGqWCe
>>587
コンストラクタの意味合いから考えて通常はpublicをつけます
逆にprivateをつけた時の効果とそれにより考えられる効能を想定してみましょう
0591デフォルトの名無しさん
垢版 |
2017/09/12(火) 01:37:00.21ID:KwS1KeaA
>>585
恐らく三角形の底辺の右か左の尖ってる所
0592デフォルトの名無しさん
垢版 |
2017/09/12(火) 01:40:47.97ID:KwS1KeaA
class X {
 private X() {}
}

俺の心の中でしか new できないクラス
0593デフォルトの名無しさん
垢版 |
2017/09/12(火) 01:50:55.01ID:wkDGqWCe
自身の初期化済みオブジェクトを返すクラスメソッドだけからしかオブジェクト生成をさせたくない時(があるのかしらんが)とかかねぇprivateコンストラクタを定義するとしたら
0594デフォルトの名無しさん
垢版 |
2017/09/12(火) 02:03:12.61ID:7I+dfSsy
昔はsingletonにする時によく使ってたけど、最近はDIコンテナに任せちゃうからなあ
0595587
垢版 |
2017/09/12(火) 02:37:13.04ID:APGFN74L
遅い時間に失礼します。
回答をくれた方ありがとうございます。

publicを付けるか付けないかで具体的に何が変わるのでしょうか?
例えば、
public class A {
int a;
A() {
a=1;
}
}

public class A {
int a;
public A() {
a=1;
}
}
とでは何が違うのでしょうか?
2度目になりますが、回答の方よろしくお願いします。
0598デフォルトの名無しさん
垢版 |
2017/09/12(火) 11:19:16.85ID:WW0MtbKa
>>577-582
フィールドを直接アクセスするのは、同じクラス内だけ。
同じクラス内のソースコードを書く人は、
同じ会社・人物だから、勘違いが少ないから、OK

そのクラスの外からアクセスする人は、必ず、アクセッサを通す。
これは異なる会社・人物を想定しているから、
コメントで説明するだけじゃ、不十分

コメント通りに、プログラミングするかどうか、分からないため、
必ず、アクセッサを通して、不正な値ではエラーにする

もし、エラーにしなかったら、不正な値でも動いてしまって、
後に、別の場所で、別のエラーになるから、原因を突き止めるのが難しくなる

エラーの原因と、エラーになる場所が遠くなるから、ダメ
0600デフォルトの名無しさん
垢版 |
2017/09/12(火) 15:39:18.80ID:S9YYo8OY
>>598
そんな事やったら複雑になるだけだよ
データチェック用のクラスは別で用意して
モデルにデータチェックを持ち込まないようにしましょう
0602デフォルトの名無しさん
垢版 |
2017/09/12(火) 19:20:42.58ID:WW0MtbKa
MVC の、ビューでチェックするのか?

ドラクエ10 の話を読むと、ネットから来るデータは、
500バイトに1バイトは間違っているから、絶対に信用しちゃいけない

なぜなら、途中のルーターが、データが間違っていても破棄せず、
間違ったデータで、チェックサムを再計算するから、正しいように見えてしまう
0603デフォルトの名無しさん
垢版 |
2017/09/12(火) 19:51:45.74ID:oinAiUFn
>>602
するでしょ
典型的なServlet/JSPだとViewってJSPでしょ?
最初にjavascriptで入力チェックしてリクエスト発生前にわかる誤りは指摘するわ
0605587
垢版 |
2017/09/12(火) 20:37:50.47ID:APGFN74L
>>596 >>597
ありがとうございました。
自分でももう少し勉強してみます。
0606デフォルトの名無しさん
垢版 |
2017/09/12(火) 20:41:42.77ID:w8xybr3m
入力を受け取るDTOとドメインモデルは分けるっしょ
バリデーションはチェック専用のオブジェクト作ってそこに集約するっしょ
0610デフォルトの名無しさん
垢版 |
2017/09/12(火) 21:03:02.15ID:4UXnt6r5
>>602
500バイトに1バイト?そんなに間違うかなあ?UDPパケットでもそんなの気にした事ないなあ。IPレベルではそんなエラー沢山出てるのか?
0611デフォルトの名無しさん
垢版 |
2017/09/12(火) 21:05:40.41ID:4UXnt6r5
Kotlin使えばgetter,setterで悩まんで済むのではないだろうか。
0615デフォルトの名無しさん
垢版 |
2017/09/12(火) 21:22:59.95ID:WW0MtbKa
>>610
1/500 = 0.2%

確か、伝送エラー率も、これぐらいだったと記憶している。
まあ、チートもあるだろうけど
0616デフォルトの名無しさん
垢版 |
2017/09/12(火) 22:30:13.97ID:jP/+HaLi
超初心者です。
文字列で疑問に思ってのですが、文字列を(A)のパターンで使おうと思ったのですが、
(B)のパターンもあるみたいなのですが、
(A)のパターンだけでプログラムを組んでいても問題ないでしょうか?


(A)
 String str = "あいうえお";

(B)
 String str = new String("あいうえお");
0619デフォルトの名無しさん
垢版 |
2017/09/12(火) 22:40:50.43ID:KwS1KeaA
>>616
全く問題ない。

てか、Bの方はメモリや時間の無駄だよ。実際には最適化されてAと同じになるとは思うけどね。
0621デフォルトの名無しさん
垢版 |
2017/09/13(水) 01:58:25.84ID:CljwMjVR
本当に「(B)のパターンもあるみたい」なのだと思っているのだとすれば自分の読解力を疑ったほうがいい
0622デフォルトの名無しさん
垢版 |
2017/09/13(水) 03:33:06.00ID:zEkVIE/g
CやC++やってた人だと "" だけで既に String クラスのインスタンスである事がすぐにわからんのかもね。
ていうか見た目が同じものなのに違う意味になってて混乱。やがて "abc".charAt(1) で 'b' が返される事に気付く。
0624デフォルトの名無しさん
垢版 |
2017/09/13(水) 07:40:55.11ID:8OiQxoax
初歩的な質問で失礼します。
substringがなんともしっくりこないので、昔のBASICで言うところの「mid」を作ってみたのですが、
呼び出し元の「Test.java」から呼び出し先の「strmid」関数を呼び出す場合、
下記のような感じでよろしいでしょうか?

■Test.java(呼び出し元)

public class Test{
   public static void main(String[] args){
      String a = "1234567890";
      a = Mod_string.strmid(a, 5, 2);
      System.out.println(a);
   }
}


■Mod_string(呼び出し先)

public class Mod_string{
   public static String strmid(String _str, int _index1, int _index2){
      String cut_buff = "";
      cut_buff = _str.substring(_index1, _index1 + _index2);
      return cut_buff;
   }
}
0628デフォルトの名無しさん
垢版 |
2017/09/13(水) 08:32:01.01ID:zEkVIE/g
>>623
そういうのの最適化は保証されてるんだっけ?
0630デフォルトの名無しさん
垢版 |
2017/09/13(水) 08:44:14.18ID:9wr8j3v0
midでは切り取る長さが文字列の長さより長かったらどうなるんだ、条件分岐が必要なんじゃないか
0632デフォルトの名無しさん
垢版 |
2017/09/13(水) 08:45:27.16ID:NSWcHcOm
>>629
ここは初心者スレなんだから質問者の提示したソースがあるならそれをベースに話そうぜ
おまえのルール適用はおまえの環境でやれ
0633デフォルトの名無しさん
垢版 |
2017/09/13(水) 08:53:42.46ID:9wr8j3v0
>>632
初心者だからこそよりベターな書き方を身に着けないと、何も言われなかったからこれでいいんだJava完全に理解したということになるんだよ

お前はただの無責任でいい加減で良い人と思われたいだけの甲斐性なしの童貞ニートだよ!!
0636デフォルトの名無しさん
垢版 |
2017/09/13(水) 09:09:59.43ID:NSWcHcOm
>>633
目的をどこにおくかだよ
記載レベルの正しさなんかプロジェクト毎に異なるんだからそんなもん後でいい
0637デフォルトの名無しさん
垢版 |
2017/09/13(水) 09:12:06.62ID:SCvW+syV
残暑が彼をこのようにしてしまったのだろうか。残暑も酷なことをするものだ。
0639デフォルトの名無しさん
垢版 |
2017/09/13(水) 09:16:23.79ID:9wr8j3v0
>>636
バッキャロー、そのプロジェクトを作るのがJavaを
完全に理解した人たちなんですよ

変数名も使用もろくに考えない人間をいまあなたが作り出そうとしている、ああ、あなたはとても罪な人
0641デフォルトの名無しさん
垢版 |
2017/09/13(水) 09:34:10.61ID:SCvW+syV
そういや1かな
0642デフォルトの名無しさん
垢版 |
2017/09/13(水) 09:43:31.46ID:9wr8j3v0
せやろ

このようにいろんな観点からコードを分析してアドヴァイスできる私は夏の妖精と言っていいでしょう
0644デフォルトの名無しさん
垢版 |
2017/09/13(水) 09:52:31.60ID:SCvW+syV
ふなっしーのような着ぐるみが必要だね
0646デフォルトの名無しさん
垢版 |
2017/09/13(水) 12:53:07.12ID:nLzRrUv0
>>635
いやいや鮎川まどかみたいな奴のことだろ
0647デフォルトの名無しさん
垢版 |
2017/09/14(木) 17:58:12.65ID:aE/ynEl2
JAVAを独学してますが実際にプログラムを書いたほうが覚えがいいと思うのですが
仕事で勉強していたら嫌でも書くことあると思いますが、独学の場合だとどういう風にしたら
たくさんプログラムが書けるでしょうか?
0650デフォルトの名無しさん
垢版 |
2017/09/14(木) 18:34:34.39ID:ryfOUSxm
プログラム好きだから就職するならともかく
就職したいからプログラム勉強するって心構えだと鬱になって死ぬぞ
0651デフォルトの名無しさん
垢版 |
2017/09/14(木) 18:57:43.62ID:bbgbtsFj
好き嫌いとか心構えとかそういう話じゃなくね?
興味あるから独学でもやっているんだろうし

ただ、
「個人では次々とプログラム案が浮かばない」
「だけどコードはたくさん書いてみたい」
「そういう場合実際的にはどうしたらいいのか?」
ってことじゃないの?
0654デフォルトの名無しさん
垢版 |
2017/09/14(木) 19:24:32.57ID:u0Y+p6q4
仕事で使われるJavaはWeb一択
仕事したことない奴がWebの包括的な知識を得ることを無理
原始人がパソコンを使おうと努力するぐらい時間の無駄
若いなら未経験可でも採用してくれる零細ブラックに潜り込んだほうが1万倍早い
おっさんなら諦めろ
0657デフォルトの名無しさん
垢版 |
2017/09/14(木) 21:42:48.03ID:Ng+6QcSm
Javaって組み込みとかには使われてないのかな?元々Sunは家電組み込み用としてJava作ったらしいが。
あ、Androidのスマホは見ようによっては組み込み機器か。
0658デフォルトの名無しさん
垢版 |
2017/09/14(木) 21:46:43.47ID:fgzTXSE6
今の大手SIerはノンプログラミングツールが主流だぞ
みずほ銀のやつなんて、JAVA要員を全部ノンプログラミングツール要員に切り替えたし

食うのが目的ならプログラムより英語とかビジネスマナー覚えた方が確実に良い
0659デフォルトの名無しさん
垢版 |
2017/09/14(木) 21:49:24.58ID:ryfOUSxm
最近はツールやサービスが充実してるからインフラに詳しくなくてもそれなりにWEB開発できてしまうよね
昔ほど初心者の参入障壁はないよ
0660デフォルトの名無しさん
垢版 |
2017/09/14(木) 22:41:31.05ID:yKCuCAfu
(´・ω・`)スッキリわかるJava入門と実践編読んでます
みなさんはJava8のラムダ式とか勉強用にJava8参考書買ったの?
いま新しいJava8用の参考書かおうかまよってるのー
なにかおすすめの参考書とかあれば教えてもらえませんか
よろしくです
0663デフォルトの名無しさん
垢版 |
2017/09/14(木) 23:49:29.61ID:hDTOaSZP
(´・ω・`)ラムダ式のためにわざわざ本なんて買わなくていいとおもうの

スッキリの入門編と実践編を読んでも、どうせ実践なんてしてないんだろうなー
次の参考書のことばかりかんがえてさ
0664デフォルトの名無しさん
垢版 |
2017/09/14(木) 23:51:31.51ID:IggZgdlC
(´・ω・`)にちゃんよりもついったーで聞いたらいいとおもうの
どういたしましてです
0668デフォルトの名無しさん
垢版 |
2017/09/15(金) 01:37:42.64ID:3tKdJU4s
まあ、よくもまあこんな事までできるようにしたなあ、という感じではある。
0669デフォルトの名無しさん
垢版 |
2017/09/15(金) 03:31:38.80ID:tsKQhVFL
ラムダ式のために、本を買うなんて、考えたことは無い。
スッキリを読んだ後は、この辺を読むから

たのしいRuby 第5版、2016

プログラミング GROOVY、2011
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
0672デフォルトの名無しさん
垢版 |
2017/09/15(金) 14:37:50.58ID:SetL/UqD
そういや Ruby や Python は未だに覚える気が起きないな。Perl やり過ぎたか・・・
0673デフォルトの名無しさん
垢版 |
2017/09/15(金) 21:29:47.15ID:Z/MvErxh
スクリプト言語はツールの拡張で使わざるを得ないでいつの間にか習得している事が多いな
0674デフォルトの名無しさん
垢版 |
2017/09/15(金) 22:30:40.88ID:qv3asH3K
プログラミングなんてそんなもん
必要になったのをコツコツ積み上げていけばいつの間にかって感じだな
0678デフォルトの名無しさん
垢版 |
2017/09/16(土) 02:00:41.83ID:iyhV3x2n
今までの人生経験からすると、「自分はできる」と思った時はかなりまずい状態だ。
そう思った時はほとんどの場合実際にはたいしてできる状態になっておらず、
まだまだ知らない事が山のようにあるのだが、そのこと自体に気付いていない。
というか気づいていないからこそ自分はできると思い込んでしまっている。そして
そのまま分かったつもりで進むと穴にハマって大怪我をする。やはり慎重さや
謙虚さはあった方が良い。
0679デフォルトの名無しさん
垢版 |
2017/09/16(土) 02:11:46.01ID:Om3GlnUG
いつまでたっても自分はできるとは思えない
ただその過程で一生懸命やってみたら今回は何とかできたの連続かも
0680デフォルトの名無しさん
垢版 |
2017/09/16(土) 04:25:51.22ID:bCwNlhe0
>>678
それはプログラミングに限った話ではなく何にでも当てはまる
少し慣れてきて安心し始めた頃が一番危ない
0682デフォルトの名無しさん
垢版 |
2017/09/16(土) 09:17:12.58ID:hF16Uo8A
>>678
成功しない奴の典型みたいなタイプだね
実際には意味不明なほど自信があってそれを原動力に行動する奴が勝ち組になるんだよ
謙虚とか自重ってのは負け組の美学
0685デフォルトの名無しさん
垢版 |
2017/09/16(土) 11:41:45.75ID:NJWiFv+q
>>682
>>678が言う所の謙虚さは技術や知識に関して自分が全て知ってると思い込まずに
欠けている知識があるのではないか、もっと学ぶべきことがあるのではないかという
考え方の面で謙虚であれという意味であって実際の行動に関して謙虚であれと言ってるわけではない
それに>>678が言ってない自重を勝手に付け加えるのは辞めよう
■ このスレッドは過去ログ倉庫に格納されています

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