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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2007/05/19(土) 22:13:03
mainメソッドから値を返す。
2010/07/15(木) 10:01:56
nullチェックとisEmpty()は全くの別物だと思うんだが。
2010/07/15(木) 13:21:48
>>268 はPHPer
2010/07/15(木) 18:54:44
空文字列とnullと0が区別できないPHPは使いにくくてしょうがない。
2010/07/17(土) 14:25:21

JAVAer が PHPer を差別してますね。
こーゆーのを、「メクソ、ハナクソ」って言うんですね。
2010/07/17(土) 14:42:13
そうか
レスがもらえてうれしかったのはわかるぞ
2010/07/17(土) 15:14:08
まぁまぁ、ケンカすんなって。
インタプリタ言語同士、仲良くしろよ。
2010/07/17(土) 22:02:17
スクリプト言語は型指定できない奴が多くて困るよ
そのうち改善されてくんだろうけど、それまで待てない(>_<)エーン
2010/07/18(日) 00:21:24
>そのうち改善されてくんだろうけど

それはない
2010/07/18(日) 07:22:33
スクリプト言語は型の扱いがいい加減な言語が使いやすいと思っちゃってる人のための言語。
Javaはスクリプト言語よりはずっと使いやすい。けどC#には負ける。
2010/07/18(日) 07:57:43
釣りであることは明白だが初心者が混乱するとかわいそうなのでフォロー

スクリプト言語に型がないとかいい加減だとか誤解している人がたまにいるが大間違い
コンパイル時に型が決定しないだけで型そのものは存在する
2010/07/18(日) 08:04:58
JavaにはGENERICSがあるだろ
2010/07/18(日) 10:10:30
しっー!
Javaは1.4で止まってる人が多いんだから刺激しちゃダメ
ジェネリックとか言ったら頭がパンクしちゃうよ?
2010/07/18(日) 17:35:19
>>278
型がないってのは間違いだが、いい加減なのは間違いじゃない。
文字列型から数値型へ暗黙の型変換がなされたりするし、
引数の型チェックができるケースなんてある方が珍しい。
void*使い回しと大して変わらん。
2010/07/18(日) 19:39:50
JavaScriptあたりはそうだが、Pythonなどは違うよ

>>> 1 + "1"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'

動的型言語の変数が似てるのはvoid*じゃなくてタグ付unionだろ
データを見りゃ型が分かるようになってる(自己記述的)なんだから
プログラマのくせにロクに知りもせずに何でも糞みそ一緒にするなと

引数の型チェックっつうけどJavaも何でもnull突っ込めるよな
参照型の場合は
2010/07/18(日) 19:58:27
変数の型の強さは多分こんな感じ

静的型関数型言語 (Haskell, OCaml等) >>> 静的型手続き型言語 (Java, C# > C, C++) >
動的型言語 (Python, Ruby > Perl, JavaScript, PHP)

動的型の関数型言語は知らん
2010/08/04(水) 22:46:42
Map の putメソッドの戻り値が、1こ古い値なのはクソだな。
putの戻り値って何か使い道あるの?
実際にアプリで使用したことあるひといる?
やぱりjavaはウンコだな。
2010/09/26(日) 06:07:20
音楽CDの再生
2010/09/26(日) 08:53:07
>>284
激しく同意!
thisを返してくれたほうがまだマシだね
Map chnco = new HashMap().put("便器","うんこ").put("たんつぼ","ゲロ").put("ポリバケツ","生ゴミ");
みたいに初期化が楽になる
287デフォルトの名無しさん
垢版 |
2011/03/09(水) 14:59:24.39
>>284
Javaを触り始めて10年以上ですが
使い方ね、使い方、と


初めて知った\(^o^)/
288デフォルトの名無しさん
垢版 |
2011/03/09(水) 19:01:06.68
>>280
ドキ
2011/03/09(水) 20:40:52.37
mainの戻り値がSystem.exitでしか指定できないってことは、
異なるプログラムでJVMを使い回して高速化、なんてことは一生できないね。
.NET Frameworkはそのためにアプリケーションドメインがある
2011/03/10(木) 00:16:31.32
まぁまぁ、javaが無かったら.NETも生まれなかったわけだし。
2011/03/10(木) 00:58:44.07
アプリケーションドメイン使っても、コンソール、標準入出力、カレントディレクトリ
みたいにOSがプロセス単位に割り付ける資源は当然のように共有されてしまうので
1プロセス/VM上で異なるプログラムを実行するつっても
どのみち限界あると思ってたんだけど俺の勘違いか?

Javaの場合、System.exit()だけが問題ならSecurity Managerで無効化するんだと思う

ま、JVMでも.NETでもなくて、Unix環境なら
単にfork()でも使うところだろうな
2011/03/10(木) 01:28:22.85
ああ、やっと意味がわかった。
Cなら int main(.....) なのに
javaは void main(...) なんだよな。
これに限らず、やたらとvoid関数が多い。
voidなんて廃止してもらいたいくらいだ。
2011/03/10(木) 01:29:43.94
>>291
アプリケーションドメインはもともとWebサーバーのためのものだろうね。
でもMSが本気だしたら標準出力なんてお得意の高速プロセス間通信でなんとかできるだろ。
起動したプロセスは標準入出力を唯一の共通プロセスにパイプで渡して処理を委譲。
カレントディレクトリはクラスライブラリでごまかせそうだし。
2011/03/10(木) 01:33:13.71
デフォルトコンストラクタでインスタンス生成しまくるJavaには
voidがお似合い。
意味的にパラメータが必要とか値を戻すべきとか考えない。
2011/03/31(木) 19:44:04.79
なんでjavaって連続の割り算掛け算できないの?
hoge = aaa/3600000/24;
これで普通いけるよね

こう書き直さないと駄目だった
hoge = aaa/3600000;
hoge2 = hoge/24;
2011/03/31(木) 23:18:53.51
>>295
普通にいけるだろ
297295
垢版 |
2011/04/01(金) 01:43:40.56
>>296
書いたのはandroidアプリでだからandroidが悪いのか?

とにかくエミュレーター動かして出した結果、正しくでなかった
2011/04/01(金) 02:03:11.19
>>295
hoge = aaa/3600000.0/24;
2011/04/02(土) 09:22:23.64
rar書庫を解凍せずに画像読み出し
2011/04/02(土) 10:01:39.39
どんな環境だろうと解凍しなきゃ圧縮アーカイブ内のデータは読み出せないだろ
オンメモリで、という意味ならJUnRar使えば出来んじゃね?
2011/04/02(土) 10:31:22.01
ZIPならZipentryでできるじゃん
Junrar?あれそんなんできたっけ?
2011/04/02(土) 10:38:53.27
パス付きのrarとか実質WinRAR使わないと無理なんじゃなの
2011/04/02(土) 10:51:09.51
そもそもJunRar自体がもう存在してない件w
2011/04/02(土) 12:14:14.56
JunRarはストリーム使えないだろ
305デフォルトの名無しさん
垢版 |
2011/05/29(日) 23:30:07.06
WinXP、Java1.6です。
javaでkbhit+getchみたいなのは無理でしょうか。
以下のようなやり方だと、入力した内容が表示され、
改行入力も必要になってしまいます。

Scanner.nextInt()
System.in.read()
FileInputStream.read() (FileDescriptor.in)
306uy
垢版 |
2011/05/30(月) 18:28:34.27
>>295
JAVAって割り算すら計算間違いする言語なんだな・・・・・・・・・・・・・
2011/05/30(月) 21:26:39.35
 
2011/05/31(火) 01:39:10.10
>>295
結果がどのように間違っているのかが書いていないので
なんとも言えない
2011/05/31(火) 09:06:13.47
strictfp使わずに誤差が出たとか騒いでるんじゃね
2011/05/31(火) 16:18:40.56
クラスごとにファイル分けないといけないとかうんこすぎる
おまえはFF14かと
311uy
垢版 |
2011/05/31(火) 17:28:40.05
はぁ?w
クラスごとにファイル分けって

そんな設計してるからゴミ化するんだろ
バカか、お前


クラスごとにファイル分けとかwwwwwwww
バカかwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

それは整理されたソースコードじゃなくて、たとえばマンションがあったとして、
ひとつの部屋に、10人住んでいる所もあれば、ひとつの部屋にねこ1匹しか住んでいないとか、
そんなレベルの話
クラスにもそれぞれの大きさがある・・・

ほんとにJAVAERはレベルひっくいなぁ・・・ クラス(笑)毎日毎日かいてんだからそのくらい覚えろよ
クラスを基本かかない奴にすら劣る知識って  冗談はやめてくれ
2011/05/31(火) 17:47:09.44
>>310
jarでファイルまとめろよ
2011/05/31(火) 20:58:32.85
1クラスが1ファイルになるのは別にいい。jarにすれば良いだけ。
問題なのはJava使いにC#をやらせると名前空間ごとにDLLを作り初めて
膨大な数のDLLができあがること。
2011/05/31(火) 21:03:01.76
それでJava使いはC#が駄目だとか言うのか。なるほど。
2011/05/31(火) 23:21:17.57
Javaは標準ライブラリでまともにXMLが扱えない。
2011/06/01(水) 10:23:43.35
>>313
それは初耳だな。。。
c#使いでも少数派だと思われ
317デフォルトの名無しさん
垢版 |
2011/06/02(木) 13:59:41.28
最近javaの勉強をしている。
噂には聞いていたけど、やっぱおっせ〜わ。

ノートPC(ぺんM1.4)で使うなよハゲっていう、強い意思表示を感じたぜ。
2011/06/03(金) 01:03:51.63
Pentium Mはいいけど、ノートPCのハードディスクはネックだな。
SSDかRAMディスクにしてみろ
2011/06/03(金) 07:21:28.04
Ceylonに期待
2011/06/05(日) 00:57:48.17
Javaは4GB以上のbyte配列が確保できない
2011/06/05(日) 07:28:32.80
実は2GB以上なんですけどね……
322デフォルトの名無しさん
垢版 |
2011/06/15(水) 22:37:18.59
ぷ。
2011/06/16(木) 01:28:47.12
256 byte バイトストリームから
符号無し 4 byte 整数の要素数 64 の配列への
お手軽一発変換
2011/06/16(木) 05:27:25.01
boolean とか・・・
bool って書かせろよ
2011/06/16(木) 06:53:57.83
だよね、それはある。
整数が integer でなく int なら
boolean は bool であるべき。
統一性がないな
2011/06/16(木) 14:38:36.51
それよりもintがbooleanにキャスト出来ないのがムカつく。
2011/06/16(木) 15:19:37.91
>>326
その発想は無かった
2011/06/16(木) 19:06:35.01
bool b = (bool)0;ができるC/C++の方が異常。
2011/06/16(木) 19:15:48.54
>>328
自分もそう思うし、必要ならメソッド書けば良いし

//自然数はture. 0と負の整数はfalse
if(n>0) return true
else return false
2011/06/16(木) 19:33:34.56
if(x==0) を if(x=0) なんていう書き間違いを防ぐためと、
その書き間違いを防ぐためにif(0==x)なんていう
直感的に分かりにくいコードを書くバカが現れることを防ぐために、
キャストできない方がいい。

>>329 え?
2011/06/16(木) 19:40:08.47
>>330
あによ?

ifもforも命令一個なら{}省略出来るだろうがよ

自分もキャストは出来ない方が良いと思うぞ?
必要なら関数なりメソッドなりですれば良い
2011/06/16(木) 21:36:17.74
C だと非 0 が真
2011/06/17(金) 00:45:45.31
intだとif(x)とかif(!x)が出来ないのが面倒。ついでにオブジェクトにも出来ないのもダメ。いちいちx==nullとかx!=nullとか面倒。
2011/06/17(金) 01:03:04.57
あえて記述が面倒なのを受け入れて間違いを防ぐのがJavaのいいところだと思うのだが
2011/06/17(金) 01:18:26.39
一からjavaで書く分にはそれでいいかもしれないけどc++からの移植とかする場合いちいち手直ししてあげないといけないのは超面倒
2011/06/17(金) 01:29:09.45
>>335
え、それは・・・
普通、リファクタリングしない?
2011/06/17(金) 06:34:51.84
間違いを防ぐんではなく、真偽の論理値が必要な場所に
数値が現れるのが意味的におかしいんだよ
2011/06/17(金) 07:50:40.62
符号つきなのにbyte型なんて名前なのが腹立つ。
2011/06/17(金) 08:32:39.35
符号付の方が都合がいいだろ。
2バイト文字判定がフラグだけ見て判断できるんだから。
2011/06/17(金) 09:49:44.67
符号無し整数型の充実を求む
2011/06/17(金) 10:25:37.47
>>340
C#使え
2011/06/17(金) 10:56:06.73
>>341
まわりのね、えらいひとたちがね、
じゃばをつかえって、いじわるするの
2011/06/17(金) 11:55:31.19
>>342
引きこもって飢え死にしろ
2011/06/17(金) 21:00:38.86
結論 JAVA はゴミ
2011/06/17(金) 22:53:57.06
>>340
確かにそれは思う時はある。
だけど、そういうちょっとした便利さとかを求めて言語仕様変えようとすると
Java7,8みたいにグダグダになってしまうんだと思うんだ。
2011/06/17(金) 23:10:14.38
ヒアドキュメント
2011/06/18(土) 00:51:34.61
>>345
単に不便っていうよりは、言語設計上のミス (或いは、
必要性を認識出来なかった) だと思ってる

配列の型変換にしても、ポインタを使える様にしろとは言わないけど、
代わりにビュー的な仕掛け (byte 型配列を int 型配列として参照する等) とかなら
処理系の実装次第でどうとでもなりそうだし
2011/06/18(土) 08:29:05.44
int sjisCode = (b1 & 0xFF) << 8 | (b2 & 0xFF);
符号付きは不便だな。
2011/06/18(土) 17:38:29.14
油断して (b >> 4) とかやると、とんでもない数になったり
(b >> 4) & 0x0f の & 0x0f がまんどくせ

>>329
return n>0;
2011/06/19(日) 04:17:49.31
byte b = (byte)((bOrg & 0xFF) >> 4);
糞としか言いようがない
2011/06/19(日) 15:16:48.20
これまでの人生で、符号付き8ビット整数を使うような場面に一度も遭遇したことがないけど
実際、具体的にどのような事に使用されてるのでしょうか
たとえ話じゃなくて、具体的なアプリケーション名とか、規格とか、そんなので何かありますか?

たとえば音楽のMIDI規格では、左右のチャンネルの振り分けデータは
  左〜中央〜右
  0 〜 64 〜 127
のように真ん中が64になるようゲタを履かして、負の数を扱わずに済むようにしてあります。
8ビット符号付整数って、ものすご〜〜〜〜〜く扱いづらいんですよ。
2011/06/19(日) 19:10:44.48
そうだな。例えばGIF画像を処理するプログラムで使ったな。
数あるバイナリーフォーマットの中でMIDIだけは符号付き整数を基本とする
異例のフォーマット。
そんなマイナーな例を持ち出してJavaを擁護するのは恣意的だぞ
2011/06/19(日) 19:13:46.84
??
2011/06/20(月) 07:57:32.52
俺も符号付き嫌
慣れないうちはバグの温床になりやすくて嫌いだわ
javaはバイナリを扱うのには向いてないって思う
2011/06/22(水) 15:01:07.27
Java にしても .NET 系にしてもバイナリファイルの扱いを事実上放棄してるよなぁ
2011/06/22(水) 18:17:37.91
>>355
え、.netはちゃんと符号なしは有るぞ?
2011/06/22(水) 23:45:33.67
>>356
確かに符号無し整数型はあるけど、次の様なことを C#、VB 等で行おうとすると、結構メンドくありませんか?

1) C の構造体の様な任意のサイズ・構造のブロック単位での入出力
--> バイナリファイルを扱う時に必要

2) バイト配列の任意の位置・サイズを別の型の配列として切り出す
--> メモリマップしたファイル、バイナリデータを用いるプロトコルスタック等で必要

無い物ねだりしても仕方ないんですけど…
358uy
垢版 |
2011/06/23(木) 02:50:56.35
C#ではそういうやり方でやるなって事だろ
ゆっくりもたもたしたコードで処理を行う
コードの短縮を行う為のポインタ演算は、レベル4くらいの能力者じゃないと読めないし
レベル5の技術者じゃないとかけない
C#は土方用言語ゆえ、難しいことはやらない
2011/06/23(木) 17:03:48.38
>>358
rubyも土方用だからバイナリ扱うのには向いてないよね
2011/06/23(木) 18:54:58.57
どっちかっていうとC#よりCの方が土方用って感じがする。
ユーザ寄りじゃない部分を書くわけだし。
2011/06/23(木) 19:52:14.99
>>360
えー。。。。?
自分はC#でアプリしか作れない人よりも、Cでデバイスドライバ書ける人の方が尊敬するけどなぁ。。。

2011/06/23(木) 20:10:44.77
C#の初心者とCの中級者を比べてもしゃーない
2011/06/24(金) 00:41:49.93
c#はちょっとしたアプリ作ったり、ツール用がほとんどじゃね?
2011/06/24(金) 03:17:50.05
>>363
とか言う奴に限って、C#使わせてもJavaみたいなコードしか書けないというw
2011/06/24(金) 03:19:36.86
>>361
デバイスドライバとかなにが楽しいの?
そういうのは他人に任せてればいい汚れ作業
まさに土方
2011/06/24(金) 07:52:38.35
Javaって、Javaスレで話題の中心になることもできないの?
2011/06/24(金) 09:38:23.95
>>365
デバイスドライバがなきゃ、その上のソフトが動かないわけだが
ドライバの出来が悪けりゃその上のソフトがいくら頑張ってもよくならないし

土方のとらえかただな
俺なんか土方の仕事っていったら与えられた言語で与えられた仕様書通りにソースを書く仕事って捉えてるが
2011/06/24(金) 12:28:41.31
>>365
楽しいから書くとか、仕事舐めてんの?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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