X



javaの気に食わないとこがあるんだが・・・ [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001仕様書無しさん
垢版 |
2016/09/12(月) 23:23:05.87
配列宣言で2回も型名書く意味が分からん
例えば↓

int[] a; //配列変数宣言
a = new int[5]; //要素数5

intって2回もいう必要なくね?

c言語からやったから,気持ち悪く感じるんだが
int a[5]; //c言語
0002仕様書無しさん
垢版 |
2016/09/12(月) 23:27:03.73
Javaはよく知らんけど、宣言した型とは違う型の配列をnewしたいときあるからじゃね?
0003仕様書無しさん
垢版 |
2016/09/12(月) 23:30:00.51
>>2
どういうことだ
int[] a;
a = new double[5];
ってことができるのか?あとから宣言したものが優先される的なこと?
0005仕様書無しさん
垢版 |
2016/09/13(火) 00:54:49.96
>>4
その宣言も同じ意味やけど,結局intって2回言ってるやん
0006仕様書無しさん
垢版 |
2016/09/13(火) 01:06:50.38
>>5
一方は変数の宣言、一方はオブジェクトの生成
宣言と生成をわけることができるんやねん
C言語やとでけへんやろうでんがな
0007仕様書無しさん
垢版 |
2016/09/13(火) 01:07:09.02
おま
0009仕様書無しさん
垢版 |
2016/09/13(火) 01:54:23.33
俺も最初は違和感あったけど、林晴比古の本読んだらなんとなく2回記述するのに納得したんだけど、今では何で納得したのか忘れてしまった。
0010仕様書無しさん
垢版 |
2016/09/13(火) 02:00:36.72
>>6
分けるメリットを教えてくれると助かる
マジでわからん
0011仕様書無しさん
垢版 |
2016/09/13(火) 03:43:06.59
>>10
必要なときのみメモリ確保するんで
比較的大きいデータを使うとき効率が良いよ
あとポリモーフィズムができる

C言語では動的メモリ確保に当たるかと
int *ptr = (int *)malloc(sizeof(int) *1024);
C言語でも2回書くよね
3回書いてるけど
0012仕様書無しさん
垢版 |
2016/09/13(火) 08:56:07.83
javaは参照型変数なんで、cのnewと同じ
つまり、cで全ての変数でポインタ使ってるのと同じ
0013仕様書無しさん
垢版 |
2016/09/13(火) 10:13:32.81
>>11
>>12
なるほど
ポインタって考えればいいのか,納得しました.
ありがとう
0014仕様書無しさん
垢版 |
2016/09/13(火) 10:14:09.74
>>10
特に無いから型推論とか出てきたんじゃないの?
初期の構文解析上の都合とか。
0015仕様書無しさん
垢版 |
2016/09/13(火) 11:01:35.78
>>14
なんかそういうものとして覚えて進めていきます.
ありがとう
0016仕様書無しさん
垢版 |
2016/09/13(火) 12:37:05.56
>>3
親クラスで宣言しておいた変数に小クラスのインスタンスを入れることってできないの?
0017仕様書無しさん
垢版 |
2016/09/13(火) 13:02:54.78
親クラスにprivateで宣言した小クラスの型変数に、setter使って小クラスの型変数に格納した値を入れるのはよく使うんじゃない?
0018仕様書無しさん
垢版 |
2016/09/13(火) 19:43:19.14
理由なんて無い
それがJAVAだ
気に食わないなら触るな
0019仕様書無しさん
垢版 |
2016/09/14(水) 12:56:33.27
いや、CやC++から入ると確かに違和感ある。
二度手間のような気がしてしまう。
上のレスを見るとちゃんと理由があるみたいだけど。
0020仕様書無しさん
垢版 |
2016/09/14(水) 20:43:59.36
.NETなら省略できるよね

C#
var a = new int[4];

VB.NET
Dim a(4) As Integer

Javaが前時代的としか
0021仕様書無しさん
垢版 |
2016/09/14(水) 23:28:32.66
サイズの決まった配列なんて、ここ数年使った事ないや・・・
0022仕様書無しさん
垢版 |
2016/09/15(木) 00:56:00.43
まあ、Javaは大きなプロジェクトになって始めて効果があるって言うからな
0025仕様書無しさん
垢版 |
2016/09/15(木) 14:34:37.63
文法もそうだけど
Javaの配列周りの仕様はごちゃごちゃしすぎで初心者に教えるのが大変

Listとかのが仕様単純じゃねーの
0027仕様書無しさん
垢版 |
2016/09/15(木) 19:39:59.08
>>25
他の言語の配列まわりの仕様よりJavaがごちゃごちゃしてるところって例えば?
0028仕様書無しさん
垢版 |
2016/09/15(木) 23:07:24.56
>>27
25じゃないけど個人的にはプリミティブ型の配列をnewで生成しますっていうのが既に酷い
>>1と同じで型宣言うっとおしい。ハッシュマップとか初期化だけでどこまで伸びるんだよと
0031仕様書無しさん
垢版 |
2016/09/16(金) 00:08:18.82
>>28
> プリミティブ型の配列をnewで生成しますっていうのが既に酷い

格納する型がプリミティブでも配列自体はオブジェクトなんだから別におかしくないと思うけど。
参照型の配列はnewしてプリミティブ型の配列はnewしないって仕様の方が好ましいわけ?

> 型宣言うっとおしい

それは配列の問題じゃないよね?
0036仕様書無しさん
垢版 |
2016/09/16(金) 17:20:12.18
var intもint intも宣言2回してるのには変わらんよな。
0037仕様書無しさん
垢版 |
2016/09/16(金) 21:32:30.11
Java脳はこれだから・・・
0038仕様書無しさん
垢版 |
2016/09/16(金) 22:34:30.32
というか、配列使わなくね?
なんか便利なコレクションクラス使うでしょ
速度求めるならJavaなんて使わんし
0039仕様書無しさん
垢版 |
2016/09/16(金) 23:34:54.77
>>37
書くときは楽だが他人のコードを後から追いかけるときに面倒なんだよIDEの支援受けてても
C#って後から他人が読むこと意識してないなってコード多い
ラムダ式もやたらめったらに使ってたりとか
0040仕様書無しさん
垢版 |
2016/09/17(土) 07:01:03.30
>>38
データを扱う場合は、配列なんてまず使わないね
リストの代わりに配列使ってる奴が書いたコードは全てがおかしい
arr[arr.length - 1] なんちゃらとか正気の沙汰ではないね
0045仕様書無しさん
垢版 |
2016/09/17(土) 10:34:02.32
速度はそんなに求めはしないが
ほんのちょっと画像データを扱いたい場合も結構ある。
FAXを受信して、ちょっとノイズだけ消したい場合とか
商品画像の背景色を透過させたいとか
ちょっとクリップ処理したいとかリサイズしたいとか。
gmagick入れる程じゃないけど、みたいなのがちょくちょくある。
配列とかガンガン触るよ。
0049仕様書無しさん
垢版 |
2016/09/19(月) 14:05:41.62
型推論var入れろ
ジェネリクスの共変反変サポートしろ
プロパティつけろ
0051仕様書無しさん
垢版 |
2016/09/21(水) 01:27:29.11
(コンソール)出力は一行なのに、入力がクソ面倒くさいとこ。
0052仕様書無しさん
垢版 |
2016/09/21(水) 02:01:02.91
>>51
まさか入力を受け取るコードをいちいちコーディングしてんの?
自分のライブラリを持つという発想がないなんてプログラマ失格じゃん
0053仕様書無しさん
垢版 |
2016/09/21(水) 08:19:55.13
System.out.printlnごときで自前のライブラリ使われてたら発狂する
005551
垢版 |
2016/09/21(水) 15:48:06.73
>>52
そんなに言うなら独自の入力メソッドのプロトタイプと書式をうp
0057仕様書無しさん
垢版 |
2016/09/21(水) 21:35:56.65
メソッドのプロトタイプと書式ってなんだ!?
ボクちゃん初めて聞きました!
0058仕様書無しさん
垢版 |
2016/09/21(水) 22:02:03.46
プロトタイプはまだわかるけど書式ってなんだよマジでw
俺々用語をそうだと知らずに人前で使っちゃうなんて、ほんとド素人なんだね
0059仕様書無しさん
垢版 |
2016/09/21(水) 23:55:39.57
>>58
書式は雛形やフォーマットのことだよ
一般的だと思うけど
自分が知らないからって批判しない方がいいと思う
だってお前がバカなだけじゃん
脳ミソ詰めてくれなったお母さんを恨むべきだと思うよ
なんでお前の母親はお前を産んだの?キチガイババアなの?
0060仕様書無しさん
垢版 |
2016/09/21(水) 23:57:38.76
>>57
知らないこと偉そうに言わないでもらえるかな
聞いてるこっちが恥ずかしいよ
お前のような愚鈍な生き物が淘汰されずに
生き残る人間界に限界を感じるわ
0061仕様書無しさん
垢版 |
2016/09/21(水) 23:58:27.32
>>56
知らないのな?じゃあお前黙ってろよ
0062仕様書無しさん
垢版 |
2016/09/21(水) 23:59:01.78
はい論破完遂
006351
垢版 |
2016/09/22(木) 01:22:50.74
もう止めてくれ…
俺を叩くのも、それをまた叩くのも(敵の敵は味方だが)
俺がテキトーに言葉を使ったのがいけなかったんや…
じゃあもっと簡単に、>>52が言う、(本来の)コンソール入力に代わる独自の入力メソッドのアルゴリズム(もしくはSPD)を教えて下さい。おなしゃす。
0064仕様書無しさん
垢版 |
2016/09/22(木) 07:30:46.63
C言語専用の用語が、万能だと思ってる漢の人って・・・
0065仕様書無しさん
垢版 |
2016/09/22(木) 07:33:27.47
イケメンプログラマ「入力ライブラリのAPI仕様を教えていただけますか?」
屑プログラマ「入力ライブラリのメソッドのフォーマxtト、しょシィ気!!」
0066仕様書無しさん
垢版 |
2016/09/22(木) 09:41:44.47
あらま、無駄に荒れてるわね。

私は20年以上Javaをやっていますが、由緒正しいJavaプログラマは、プロトタイプ(宣言)という用語は決して使わないと思うのです。

ここはJavaスレですよ、皆さん。
0067仕様書無しさん
垢版 |
2016/09/22(木) 10:34:32.66
>>66
にわかがあと40年ROMってろ
0068仕様書無しさん
垢版 |
2016/09/22(木) 10:35:02.94
>>65
API仕様wwwwイケメンでも残念すぎるわ
0069仕様書無しさん
垢版 |
2016/09/22(木) 10:35:47.46
API仕様ってなんすか?オレオレ用語で言われてもわかんねっす
0070仕様書無しさん
垢版 |
2016/09/22(木) 10:37:01.71
もっとだ!もっと俺に薪をよこせ!!
0072仕様書無しさん
垢版 |
2016/09/22(木) 11:43:03.54
Serial Presence Detect
Structured Programming Diagram
Supply Processing Distribution
007363
垢版 |
2016/09/22(木) 12:51:01.31
>>66
だからそれはハンセーしたってば。Javaならではの言い回しがあるんでしょ?

>>71
フローチャートみたいなやつ。
0075仕様書無しさん
垢版 |
2016/09/22(木) 13:17:51.25
>>73
ちょっとぐぐってみたんだけど、NECがなんとかってやつ?
だとしたら、そんなローカル記法なんて知らねえよ
共通語彙で話せっていう意味がほんと理解できないんだな
007673
垢版 |
2016/09/22(木) 15:39:55.26
>>75
SPDはローカル記法じゃないでしょ?
わかりやすいJavaという本に載ってたぞ。
0078仕様書無しさん
垢版 |
2016/09/22(木) 19:14:26.36
Javaの世界に、他の言語から流れ着いたおかしな輩が流れこんでいるのが、このスレを見てよく分かった
5年前に脱出して本当に良かったです
0079仕様書無しさん
垢版 |
2016/09/22(木) 21:50:29.67
COBOL、VB、Java、Rubyっていうのが事務系ITの流れ
ネットや書籍じゃ情報が出てこない上に
米国などと流儀が違うので英語厨も沸かず
ローカルルールが発生しやすい
0081仕様書無しさん
垢版 |
2016/09/25(日) 20:45:11.46
>>80
主にNode.jsとRuby on Railsですよ
SIerでは、JavaでWebばかりやってたので、自然の成り行きです
開発はLinux上なので、周りの技術者とも意気があって大満足です
SIerやMS系に近い技術とは距離を置くようにしてます
0083仕様書無しさん
垢版 |
2016/09/25(日) 21:11:37.87
>>82
Windowsサーバでしか動かないんじゃ・・・
0084仕様書無しさん
垢版 |
2016/09/25(日) 21:30:55.87
>>81
エディタとかどうしてる?Vim?
カスタマイズしまくらないとVSの足元にも及ばないと思うけど、どうやって生産性上げてる?w
0086仕様書無しさん
垢版 |
2016/09/25(日) 22:08:12.58
>>85
仮想マシンはあってもサーバがないんじゃ・・・
0087仕様書無しさん
垢版 |
2016/09/25(日) 22:08:20.54
生産性は有史以来ずっとMSのほうが高いでしょ
Linuxは金がないやつが使うおもちゃだよ
0088仕様書無しさん
垢版 |
2016/09/25(日) 22:10:54.94
MSから距離置いてるってことは、TSも使ってないんだろうなー
もったいないと思うけど、まぁJSで大規模な開発しない人ならvanillaで十分か
0089仕様書無しさん
垢版 |
2016/09/25(日) 22:20:28.39
>>87
bash on windowsもあるし
MSはLinuxにも投資してるんだよね
.NET製のWebサーバが増えるのを期待したい
0091仕様書無しさん
垢版 |
2016/09/26(月) 00:42:08.88
>>90
そんなこと言ったらマツタケのスレでおちんぽの話しちゃいけないのかってことになるよね?(迫真
0093仕様書無しさん
垢版 |
2016/09/26(月) 21:05:25.41
GitHubを知らない人、聞いた事はあるが何か分からない人がSIer(笑)には沢山いるぞ
0095仕様書無しさん
垢版 |
2016/09/26(月) 23:12:14.47
大手だと自社製のバージョン管理ツールぐらい持ってるからな
009776
垢版 |
2016/09/28(水) 15:10:18.06
>>77
どうならダサくないんだよ。
009997
垢版 |
2016/09/28(水) 18:47:30.79
>>98
ダサいダサくないに素人も玄人もあるかよ。
■ このスレッドは過去ログ倉庫に格納されています

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