javaの気に食わないとこがあるんだが・・・ [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
配列宣言で2回も型名書く意味が分からん
例えば↓
int[] a; //配列変数宣言
a = new int[5]; //要素数5
intって2回もいう必要なくね?
c言語からやったから,気持ち悪く感じるんだが
int a[5]; //c言語 Javaはよく知らんけど、宣言した型とは違う型の配列をnewしたいときあるからじゃね? >>2
どういうことだ
int[] a;
a = new double[5];
ってことができるのか?あとから宣言したものが優先される的なこと? >>4
その宣言も同じ意味やけど,結局intって2回言ってるやん >>5
一方は変数の宣言、一方はオブジェクトの生成
宣言と生成をわけることができるんやねん
C言語やとでけへんやろうでんがな 俺も最初は違和感あったけど、林晴比古の本読んだらなんとなく2回記述するのに納得したんだけど、今では何で納得したのか忘れてしまった。 >>6
分けるメリットを教えてくれると助かる
マジでわからん >>10
必要なときのみメモリ確保するんで
比較的大きいデータを使うとき効率が良いよ
あとポリモーフィズムができる
C言語では動的メモリ確保に当たるかと
int *ptr = (int *)malloc(sizeof(int) *1024);
C言語でも2回書くよね
3回書いてるけど javaは参照型変数なんで、cのnewと同じ
つまり、cで全ての変数でポインタ使ってるのと同じ >>11
>>12
なるほど
ポインタって考えればいいのか,納得しました.
ありがとう >>10
特に無いから型推論とか出てきたんじゃないの?
初期の構文解析上の都合とか。 >>14
なんかそういうものとして覚えて進めていきます.
ありがとう >>3
親クラスで宣言しておいた変数に小クラスのインスタンスを入れることってできないの? 親クラスにprivateで宣言した小クラスの型変数に、setter使って小クラスの型変数に格納した値を入れるのはよく使うんじゃない? 理由なんて無い
それがJAVAだ
気に食わないなら触るな いや、CやC++から入ると確かに違和感ある。
二度手間のような気がしてしまう。
上のレスを見るとちゃんと理由があるみたいだけど。 .NETなら省略できるよね
C#
var a = new int[4];
VB.NET
Dim a(4) As Integer
Javaが前時代的としか サイズの決まった配列なんて、ここ数年使った事ないや・・・ まあ、Javaは大きなプロジェクトになって始めて効果があるって言うからな >>16
int[]とdouble[]は継承関係? 文法もそうだけど
Javaの配列周りの仕様はごちゃごちゃしすぎで初心者に教えるのが大変
Listとかのが仕様単純じゃねーの >>25
他の言語の配列まわりの仕様よりJavaがごちゃごちゃしてるところって例えば? >>27
25じゃないけど個人的にはプリミティブ型の配列をnewで生成しますっていうのが既に酷い
後>>1と同じで型宣言うっとおしい。ハッシュマップとか初期化だけでどこまで伸びるんだよと >>28
> プリミティブ型の配列をnewで生成しますっていうのが既に酷い
格納する型がプリミティブでも配列自体はオブジェクトなんだから別におかしくないと思うけど。
参照型の配列はnewしてプリミティブ型の配列はnewしないって仕様の方が好ましいわけ?
> 型宣言うっとおしい
それは配列の問題じゃないよね? >>31
配列がオブジェクトなのがどうなのって話でしょ var intもint intも宣言2回してるのには変わらんよな。 というか、配列使わなくね?
なんか便利なコレクションクラス使うでしょ
速度求めるならJavaなんて使わんし >>37
書くときは楽だが他人のコードを後から追いかけるときに面倒なんだよIDEの支援受けてても
C#って後から他人が読むこと意識してないなってコード多い
ラムダ式もやたらめったらに使ってたりとか >>38
データを扱う場合は、配列なんてまず使わないね
リストの代わりに配列使ってる奴が書いたコードは全てがおかしい
arr[arr.length - 1] なんちゃらとか正気の沙汰ではないね 速度はそんなに求めはしないが
ほんのちょっと画像データを扱いたい場合も結構ある。
FAXを受信して、ちょっとノイズだけ消したい場合とか
商品画像の背景色を透過させたいとか
ちょっとクリップ処理したいとかリサイズしたいとか。
gmagick入れる程じゃないけど、みたいなのがちょくちょくある。
配列とかガンガン触るよ。 型推論var入れろ
ジェネリクスの共変反変サポートしろ
プロパティつけろ (コンソール)出力は一行なのに、入力がクソ面倒くさいとこ。 >>51
まさか入力を受け取るコードをいちいちコーディングしてんの?
自分のライブラリを持つという発想がないなんてプログラマ失格じゃん System.out.printlnごときで自前のライブラリ使われてたら発狂する >>53
それ出力じゃ
入力って文字受けとる方じゃないの >>52
そんなに言うなら独自の入力メソッドのプロトタイプと書式をうp メソッドのプロトタイプと書式ってなんだ!?
ボクちゃん初めて聞きました! プロトタイプはまだわかるけど書式ってなんだよマジでw
俺々用語をそうだと知らずに人前で使っちゃうなんて、ほんとド素人なんだね >>58
書式は雛形やフォーマットのことだよ
一般的だと思うけど
自分が知らないからって批判しない方がいいと思う
だってお前がバカなだけじゃん
脳ミソ詰めてくれなったお母さんを恨むべきだと思うよ
なんでお前の母親はお前を産んだの?キチガイババアなの? >>57
知らないこと偉そうに言わないでもらえるかな
聞いてるこっちが恥ずかしいよ
お前のような愚鈍な生き物が淘汰されずに
生き残る人間界に限界を感じるわ もう止めてくれ…
俺を叩くのも、それをまた叩くのも(敵の敵は味方だが)
俺がテキトーに言葉を使ったのがいけなかったんや…
じゃあもっと簡単に、>>52が言う、(本来の)コンソール入力に代わる独自の入力メソッドのアルゴリズム(もしくはSPD)を教えて下さい。おなしゃす。 C言語専用の用語が、万能だと思ってる漢の人って・・・ イケメンプログラマ「入力ライブラリのAPI仕様を教えていただけますか?」
屑プログラマ「入力ライブラリのメソッドのフォーマxtト、しょシィ気!!」 あらま、無駄に荒れてるわね。
私は20年以上Javaをやっていますが、由緒正しいJavaプログラマは、プロトタイプ(宣言)という用語は決して使わないと思うのです。
ここはJavaスレですよ、皆さん。 >>65
API仕様wwwwイケメンでも残念すぎるわ API仕様ってなんすか?オレオレ用語で言われてもわかんねっす Serial Presence Detect
Structured Programming Diagram
Supply Processing Distribution >>66
だからそれはハンセーしたってば。Javaならではの言い回しがあるんでしょ?
>>71
フローチャートみたいなやつ。 >>73
ちょっとぐぐってみたんだけど、NECがなんとかってやつ?
だとしたら、そんなローカル記法なんて知らねえよ
共通語彙で話せっていう意味がほんと理解できないんだな >>75
SPDはローカル記法じゃないでしょ?
わかりやすいJavaという本に載ってたぞ。 Javaの世界に、他の言語から流れ着いたおかしな輩が流れこんでいるのが、このスレを見てよく分かった
5年前に脱出して本当に良かったです COBOL、VB、Java、Rubyっていうのが事務系ITの流れ
ネットや書籍じゃ情報が出てこない上に
米国などと流儀が違うので英語厨も沸かず
ローカルルールが発生しやすい >>80
主にNode.jsとRuby on Railsですよ
SIerでは、JavaでWebばかりやってたので、自然の成り行きです
開発はLinux上なので、周りの技術者とも意気があって大満足です
SIerやMS系に近い技術とは距離を置くようにしてます >>81
今やNodeやRoRよりASP.NET MVCのほうが生産性高いよw >>82
Windowsサーバでしか動かないんじゃ・・・ >>81
エディタとかどうしてる?Vim?
カスタマイズしまくらないとVSの足元にも及ばないと思うけど、どうやって生産性上げてる?w >>85
仮想マシンはあってもサーバがないんじゃ・・・ 生産性は有史以来ずっとMSのほうが高いでしょ
Linuxは金がないやつが使うおもちゃだよ MSから距離置いてるってことは、TSも使ってないんだろうなー
もったいないと思うけど、まぁJSで大規模な開発しない人ならvanillaで十分か >>87
bash on windowsもあるし
MSはLinuxにも投資してるんだよね
.NET製のWebサーバが増えるのを期待したい >>90
そんなこと言ったらマツタケのスレでおちんぽの話しちゃいけないのかってことになるよね?(迫真 >>89
Azureへの投資であって
Linuxに投資してるわけじゃないけどな GitHubを知らない人、聞いた事はあるが何か分からない人がSIer(笑)には沢山いるぞ 大手だと自社製のバージョン管理ツールぐらい持ってるからな >>98
ダサいダサくないに素人も玄人もあるかよ。 ■ このスレッドは過去ログ倉庫に格納されています