JAVAってこんなことも出来ないの?

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2007/05/19(土) 22:13:03
mainメソッドから値を返す。
2007/07/04(水) 22:43:00
>>81
それはCスタイルとは意味が違うと思われ。
まあ、普通に初期化文法が使えるなら使えってのは一緒じゃないの?
2007/07/05(木) 00:00:51
>>74がbug量産プログラマということが証明されたのか、ふんふん
2007/07/05(木) 00:03:44
>>81
1.Eclipseで編集
2.DI(Springなんか)を使ってxml記述にて初期化
2007/07/05(木) 00:17:12
>>74はCでメモリ開放しないでコードかいてたんだよ。きっと。
そしてJavaにきてガーベッジコレクションでメモリ管理されるようになって
ぬるぽが続出しているんだ。

そして74はこれを回避するために一時変数とかをすべてstaticなフィールドにして
最初に初期化するという方法を思いつくんだ!
ぬるぽが出なくなって74は喜ぶが、代わりにロジックの誤りに悩まされてデスマに突入

ガッ
86760
垢版 |
2007/07/05(木) 07:26:33
ぬるぽとがべこれは無関係だろ
2007/07/05(木) 12:01:46
84が負け組ということはわかった。
2007/07/05(木) 20:38:08
>>85
Cだと概念的にはnullのところがエラーとならずに値が読めてしまう場合あるだろ?
Javaだとそういうところ厳密なわけよ。
それはメモリ管理がガーベッジコレクションによって行われるようになって
プログラマの責務が減ったからからなんだよ。
新言語に搭載される機能が生まれてきた背景は知っても損はないぜ。
2007/07/06(金) 23:12:18
仮想マシンが null チェックやってるってだけのことだろ。

GC と何の関係もないよ。
2007/07/07(土) 22:07:38
>>54
> C++で使えるクロスプラットフォームなGUIって、GTKくらいだよね?実用的なの。
wxWidgets是非試してみて。
>>57
> GUIまわりはOS別に構築したほうが俺はいいと思ってるけどなぁ、昔から。
wxWidgets使えばGUIもWriteOnce, CompileAnywhere!
2007/07/07(土) 22:10:11
>>77
> 自分で組んだプログラムでのぬるぽは、言語の話ではなく単なるコーディング能力。
「ミスが出易い仕様」という言語の話。
2007/07/07(土) 22:14:39
ミスするのは人
2007/07/07(土) 22:15:47
確かにミスを洗い出しやすい仕様だな
2007/07/07(土) 23:19:05
>>89
まったく分からん奴だな。

CGがメモリ管理するようになって、alloc、freeみたいに
自力でメモリ確保と開放しなくてよくなったんだよ。
これは背景事情な。

で、自力でメモリ管理やるCの場合は、初期化していないアドレスに
アクセスすることがあったし、開放したメモリにアクセスすることもあった。

Javaの場合は前に使った値がメモリに残っている、とかそういうのはなくて
オブジェクトが生成されてなければ常にnullなんだよ。

だから、Cでメモリ管理ミスってるコードみたいな書き方をした場合は
みんなぬるぽになんの。
たまたま値が残っててそのまま動く、とかそういうことは起こらんの。
そういう見つけにくい、かつ深刻な問題が起こるバグの代わりに
はっきりと初期化されてないよって警告が出るようになったの。

だから、「ミスが露呈しやすい言語仕様」になっただけ。
むしろ発見が早まって生産性いいんだよ
2007/07/07(土) 23:22:24
Cでヌルポインタと言ったらNULLのことで、
初期化されていないポインタや解放済みの領域を指すポインタはまた別だろ。
2007/07/08(日) 00:09:55
>>95
誰に言ってんの?
2007/07/08(日) 11:47:05
http://pc11.2ch.net/test/read.cgi/tech/1168157769/14-15
98デフォルトの名無しさん
垢版 |
2007/08/27(月) 22:06:23
画面作るのが糞めんどくせええ!!!!
SWTイレねーと糞なのにデフォで付いてねえ!!
環境整えるの糞めんどくせーー!!
jsp+servretでやっとMVCの概念覚えたと思ったら
strutsがデフォだからjsp+servret使ったらわかりにくいだってwww
strus糞めんどくせえええ
HTMLタグやっと覚えたと思ったらstrutsタグつかえだと?
jspファイルでhtmlタグとjspタグが混ざってたら見づらいんだってwwww俺は見づらくねえwww
web.xmlとかserver.xmlやっと覚えたと思ったらstruts.xml使えって?
あほかwwwwww今までの、無駄wwwwwww今までのは嘘でしたwwwwwって言われた気分wwwwww
eclipseバージョンあげたらプラグイン動作しねえええ!!!
web系でフォルダ覚えるの糞めんどくせええ!!!
全体的に覚えることが大杉

と思いながらも、独学でjavaやってたが
仕事で使ってるvb.netの使い勝手があまりに良いので
javaの情熱冷めた('A`)


2007/08/27(月) 22:21:29
struts がアレだったのは別にして、>>98はプログラマに向いて無いと思う。
2007/08/27(月) 22:23:49
うん
2007/08/28(火) 01:17:28
98ってそんなことも出来ないの?
2007/08/29(水) 21:51:08
strutsだろうがstruts2だろうがググれば出てくるよ。使用法
2007/09/05(水) 23:35:23
まあjava、というかEJBはめんどくさいよ。
2007/09/06(木) 09:48:58
そうか?EJB3ってそんなにめんどくさいとは思わないけど。
2007/10/28(日) 00:45:19
C: ザク
C++: ドム
C# : リック・ドム
D: アッガイ
Java: ジム
VB: ボール
こうですか?わかりません!
106104
垢版 |
2007/10/28(日) 00:46:33
誤爆したスマソ
107105
垢版 |
2007/10/28(日) 00:47:23
しかも番号がずれた。氏のう
2007/10/28(日) 21:50:50
>>105-107
ワロス
2007/10/29(月) 15:23:04
コンストラクタに引数をつけたいんですが、どうすればよろしいですか?
110デフォルトの名無しさん
垢版 |
2007/10/29(月) 16:06:29
EJB3はどうかしらんが、EJB2.0のころは、ソースコードかくより
xmlファイル編集することで頭が混乱してきた。JBOSSの何とか言う分厚い
3800円の本かったけど、押入れの奥で眠ってる。

Javaの仕事はJSP/サーブレットないし、バックグランド処理だけやった。EJBはパスした。
PHPやらVB.NETの方がはるかにわかりやすい。
111デフォルトの名無しさん
垢版 |
2007/10/29(月) 16:09:21
>>109
どうもこうもないべ。コンストラクタの宣言時に引数付コンストラクタを
定義すればいいんじゃない?

んで使うほうは、コンストラクタに引数つけりゃいいじゃん。

Buttonクラスだとすると、単にボタン作るコンストラクタとボタンに表示する
文字列を指定できるコンストラクタがあるんだけど、それでも他にコンストラクタがほしければ
Buttonクラス継承してクラス自作して、コンストラクタを新たに定義すればいいよ。
112デフォルトの名無しさん
垢版 |
2007/10/29(月) 20:12:40

 カレントディレクトリを変更できない
113デフォルトの名無しさん
垢版 |
2007/10/29(月) 20:14:59
__FILE__

__LINE__
114デフォルトの名無しさん
垢版 |
2007/10/29(月) 20:21:11
EJBは3になって少しましになった程度
あれでDIのつもりだからため息が出る
まともなDIコンテナ使うと劇的に見通しが良くなる
これに慣れるとRailsや.NETみたいななんでもやります系の、そのかわり選択の余地は与えませんなやり方にうんざりする
2007/10/29(月) 21:36:05
>>113
System.out.println(new Exception().getStackTrace()[0].getFileName());
System.out.println(new Exception().getStackTrace()[0].getLineNumber());
116デフォルトの名無しさん
垢版 |
2007/10/29(月) 21:56:21
>>115
なげ〜〜よ
2007/10/29(月) 22:19:42
将来的にはPCよりも携帯端末のほうが主流になるだろうから
MIDP/DOJAをやっておいても悪くない
ただしJ2MEでWORAなんて夢のまた夢だからプリプロセッサ必須だけど
2008/02/04(月) 01:32:37
>>116
間違っています。
以上。
はい、次。
119デフォルトの名無しさん
垢版 |
2008/07/22(火) 20:21:48
TextSS
2008/07/22(火) 23:46:13
EJBなんて、めちゃくちゃ簡単じゃん。と、CORBAから移ってきた時は思いました。
今は面倒くさくてやってられない。
121デフォルトの名無しさん
垢版 |
2008/07/25(金) 08:11:44
リストとハッシュで済むような処理のためにクラスを書くような言語は間違っている。
122デフォルトの名無しさん
垢版 |
2008/07/25(金) 11:08:52
JavaってHTMLを生成するための言語でしょ?
2008/07/27(日) 22:24:28
>>120
そこはEJB3でどうでしょ
でもCORBAもJavaだと楽じゃね?
2008/07/28(月) 15:27:46
>>121
javaで書いたインタプリタで巻いちゃえばいいんだよ
125デフォルトの名無しさん
垢版 |
2008/08/05(火) 17:39:56
文字列はコピー渡しの方が良いのではないか?
2008/08/05(火) 17:47:57
そう思うならコピーして渡せばいいのでは?
127デフォルトの名無しさん
垢版 |
2008/08/05(火) 20:44:16
>>126
2008/08/06(水) 00:23:41
コピー渡しだと何がいいんだろ?
129デフォルトの名無しさん
垢版 |
2008/08/06(水) 00:48:08
オリジナルに影響ないじゃん。
バカじゃない?
2008/08/06(水) 02:09:19
Javaではオリジナルを変更することはできないのだが。
バカじゃない?
131デフォルトの名無しさん
垢版 |
2008/08/06(水) 19:23:03
>>128
コピー渡しというか値渡しだな。
2008/08/06(水) 21:46:21
>>130
> バカじゃない?

自己紹介乙。
2008/08/07(木) 00:36:26
値渡しは変更してもオリジナルに影響ないから文字列は値渡しってんなら、もともとJavaの文字列は不変オブジェクトなんだから、単なる無知の意見だね。
2008/08/07(木) 12:54:50
a( new String(str));
a(str);
どっちがいいかってこと?
135デフォルトの名無しさん
垢版 |
2008/08/07(木) 23:35:07
>>129==>>133の予感がしてきた。
2008/08/08(金) 05:43:01
>>130 == >>133
です。
137デフォルトの名無しさん
垢版 |
2008/08/17(日) 08:56:01
>>136
必死で否定するところが怪しいな。
138デフォルトの名無しさん
垢版 |
2008/08/24(日) 03:06:04
>>137
見りゃ分かるだろ。
この バ カ
2008/08/24(日) 03:15:04
>>31
どういうところが?
2008/08/24(日) 03:16:03
すごく久々にレスが着いてると思ったら
どうでもよかった
141デフォルトの名無しさん
垢版 |
2008/08/24(日) 03:26:27
バカを
バ カ
と呼んだまでのこと。
気にスンナ。

バ カ
2008/08/24(日) 03:56:25
夏厨様
糞スレはsageでお願いします
143デフォルトの名無しさん
垢版 |
2008/08/25(月) 02:42:32
Javaが遅いのと、メモリ管理が自動なのは関係あるの?
2008/08/25(月) 14:01:44
今では無関係と言って差し支えないと思う。
メモリ管理は下手に手動でやるよりはGCに任せたほうがかえって性能が良くなるって話すらある。
145デフォルトの名無しさん
垢版 |
2008/08/27(水) 22:24:57
>>1
   
  ∧∧
 (・ω・ )
 _| ⊃/(__
/ ヽ-(___/
 ̄ ̄ ̄ ̄ ̄ ̄
146デフォルトの名無しさん
垢版 |
2008/08/27(水) 22:48:50
>>98にすげー共感する。

Struts覚えようとしたらDIも使うべき、とかおいおい環境作りにどんだけ手間かけさすんだよいつになったら画面作るとこに手つけさせてくれるんだよとウンザリしてRailsに逃げたw
2008/08/27(水) 23:13:38
オマイら、楽しそうだな。
2008/08/30(土) 09:54:09
>>145
   タノシイヨ
  ∧ ∧
  (´・ω)
 _|⊃/(___
/ ヽ_(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
2008/09/01(月) 22:05:50
> 98は、NetBeans使ってればよかっただけって話か。
Eclipseが悪いな。
2008/09/02(火) 14:13:26
つーか、EclipseってJava使うのに向いてないだろ。クソつかえねぇ。
そもそもJavaの特徴ってのは使いやすい使いにくいじゃねぇんだから
ごちゃごちゃ文句言うんじゃねぇよ!俺みたいに学生時代に勉強しとくのがベスト。
151デフォルトの名無しさん
垢版 |
2008/09/02(火) 16:56:44
>>150
Javaの特徴は重いことだ。
2008/09/03(水) 00:00:40
>>150
ベストの勉強しても全角厨しか生まれないんだな。
さすが、Java (w
2008/09/03(水) 14:23:06
Cではprintf();ですむ作業をわざわざSystem.out.println();って書かなきゃいけないのに驚いた
scanf関数に相当するものがないのにはさらに驚いた
2008/09/03(水) 14:44:45
import static System.out;
することで、out.printlnに減らすことはできるけど、長いね。

scanfの代わりはjava.util.Scannerということだけど、使い方全然違うしね。
正規表現でこんなことはできるけど、面倒だね。びっくりだね。
Matcher m = Pattern.compile("(\\d+)を入力して(.+)に").matcher("500を入力してほげほげに");
m.matches();
System.out.println(m.group(1));
System.out.println(m.group(2));
2008/09/03(水) 14:57:00
Cのscanfは使っちゃだめ系の関数だし、なくてもいいんじゃね
2008/09/03(水) 15:22:30
>>154
ありがとうございます
なんか面倒ですね…

>>155
scanfって使わない方がいいんですか?
学校のプログラミングの授業ではバリバリ使われています;´・ω・`)
2008/09/03(水) 15:39:07
ヒント: セキュリティーホール


オプソなんかではscanf調査ツールがあったり、
つかっちゃいけない関数は、
DONOTUSE_なんたらかんたら、という文字列に#defineされてたような。
2008/09/03(水) 16:57:35
>>156
まあ、System.out.printlnはEclipseならsysoutでctrl+space、NetBeansならsoutでtabとすれば入力できるから、入力がめんどうというのはあんまりあてはまらないね。
2008/09/03(水) 22:20:00
>>156
学生さんならいいと思うよ。

でも、商用プログムだと入力は最も気を使うところ。

>>157 の言うようにセキュリティホールの危険もあるし、
変な入力された時に適切なエラーメッセージを出すことも
容易でないから基本的に使わない。
160デフォルトの名無しさん
垢版 |
2008/09/03(水) 22:30:51
最近のJavaはかなりCと同じ関数が増えてるよ
2008/09/03(水) 23:00:33
import java.io.*;

public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("数字を入力してください");
String str = br.readLine();
int num = Integer.parseInt(str);

面倒臭い
2008/09/04(木) 01:24:38
やろうと思えばJavaでできるけど、
そういうのはLLにまかせとけばいいと思うんだ
2008/09/04(木) 07:56:01
いっそ、こっちの方が楽だったりな。クロージャーが導入されてくれれば、もっとスッキリするのに。
あとはsetDefaultCloseOperationがどうにかならないんかな。
ウィンドウ出すマルチプラットフォームアプリ作るときはJavaが楽。

public static void main(String[] a){
JFrame f = new JFrame("数値入力");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLayout(new GridLayout(2, 1));
f.add(new JLabel("数字を入力してください"));
final JTextField t = new JTextField();
t.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int i = Integer.parseInt(t.getText());
System.out.println(i);
t.setText("");
}
});
f.add(t);
f.pack();
f.setVisible(true);
}
164デフォルトの名無しさん
垢版 |
2008/09/04(木) 08:18:06
今はJavaにもprintf()があるんだが・・・・
ポインタがない分どれだけラクだと思ってんだ
165デフォルトの名無しさん
垢版 |
2008/09/04(木) 08:45:16
Cみたいな特種用途向けの言語相手に何威張ってるんだ
2008/09/04(木) 11:50:15
printfがないとかいう話にはなってないでしょ。
167デフォルトの名無しさん
垢版 |
2008/09/04(木) 14:52:56
既出かもしれんが、自分でクラスライブラリ作っていて、
abstract static a();
みたいな抽象スタティックメソッドが作れなくて困った。
これはJavaの仕様でたまたまそうなのか、抽象スタティックメソッド
というオレ考えが論理的におかしいのかわからん。
2008/09/04(木) 16:05:59
おまえがおかしいに決まってんだろ。javerはバカだね
2008/09/04(木) 21:09:51
そもそも >>167 が何をしたいのからわからん。
2008/09/05(金) 01:09:11
ファクトリメソッドパターン?
2008/09/05(金) 08:38:30
関数ポインタが欲しかったんじゃね?
2008/09/05(金) 10:32:35
>>167
利用法が思いつかない…
2008/09/05(金) 16:10:48
みんな許してやれ
2008/09/05(金) 17:46:47
>>167
マジレスすると、ここはJavaの質問スレではないから
真面目な答えはここじゃ返ってこないぞ。
2008/09/05(金) 23:28:06
おれもクラスライブラリつくっちゃおうかな
2008/09/06(土) 17:43:18
>>174
> 真面目な答えはここじゃ返ってこないぞ。

>>168 は充分真面目な答えだと思うが。
2008/09/06(土) 18:36:20
>>174
167は質問してないね
178167
垢版 |
2008/09/08(月) 10:23:08
えー、別に質問したかったわけじゃなくて。
”こんなこともできねーの”という主旨にそって書き込ませてもらいました。
それで、用途はですね。
たとえば、たとえばDB上の様々なテーブルを表す、クラスA,B,C・・・とたくさんあって、DB上での取り扱いを処々定めた抽象クラスを実装しているわけです。
で、クラスA,B,C・・・のテーブルの生成、削除等はstaticメソッドにしたかったのですが、それは抽象クラスからは、abstractな抽象メソッドがないためだめだったというわけです。
もちろん、テーブルの生成、削除をstaticメソッドにしなければいいだけのことなのですが、なんとなくあるクラスというかBeanのテーブルの生成、削除等はstaticメソッドにする方がすっきりしているように思えたわけです。
2008/09/08(月) 12:17:11
まだ理解できないのか。javerはバカだね
2008/09/08(月) 12:20:02
>>178
C++でも出来ないけどねこれ。
寧ろそういうやり方出来る言語ってなんだろう
181デフォルトの名無しさん
垢版 |
2008/09/08(月) 12:21:14
デザインパターンを勉強した方がいいよね
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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