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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2007/05/19(土) 22:13:03
mainメソッドから値を返す。
2008/12/05(金) 02:51:43
if(true) return false;
2008/12/05(金) 15:03:55
>>195
while((1))とかやるとどうなるの
2008/12/05(金) 16:14:08
コンパイルエラー:互換性のない型
2008/12/15(月) 02:54:46
>>205
2008/12/19(金) 07:48:10
#define
2008/12/20(土) 12:48:46
#define とかは C とかの必要悪でしかないと思ってるぜ。
VM上で #define が必要になるとか設計がうまく出来てないか要件をうまくまとめれてないかじゃねぇ?
2008/12/20(土) 14:25:13
1.4とそれ以降のコードを混在させて書こうとしたときとか、
プリプロセッサ使わないでどうやって書いてるの?
2008/12/20(土) 18:52:40
#define たたけば偉くなったと思う勘違い君なんだから、
スルーしてくれないかな。
2008/12/20(土) 18:53:01
>>211
cppにjavaソースぶち込める環境なら#defineとかcpp言語つかえるぞ
2008/12/20(土) 19:10:45
>>212
混在させない。
2008/12/20(土) 20:26:36
>>215
ふーむ、やっぱダメなのか
ターゲットプラットフォームによって使えるコード、使えないコードがあるから
プリプロセッサで条件コンパイルみたいなことできないかと思ってるんだけど
javaだとプラットフォームごとにソースを用意して管理してるのかな?
eclipseでそういうplug-inとかないんかなぁ
2008/12/20(土) 21:19:05
APIラップしていわゆるAdapterパターンって奴にするんじゃね?
うちは某フレームワークを利用するとき、直接利用しないで
一枚かぶせて使っていたぜ。どんだけ意味あるかわからんけどな!
2008/12/21(日) 03:31:50
>>216
拡張forやオートボクシングなら、わざわざ切り替えるまでもないし、Genericsもコメントで書いておけばいい。
ライブラリに関しては後方互換があるから、古い書き方を使うほうがいい。
2009/01/23(金) 21:30:11
デバイスドライバを書く。
2009/01/23(金) 23:29:58
>>216
駄目って言うか解決に向かう思考法が全然違う。
どちらかというとプラットフォームに依存しないインタフェイスを作成し、
それぞれに対してそれぞれのプラットフォーム向けに実装する。

Interface
├ImplForA
└ImplForB

そんで、起動時に自分が実行されているプラットフォームを
判断して利用する実装を差し替えるのがJava流だと思う。

プラットフォームごとにバイナリ分けてビルドするのは手間だしね。
2009/02/01(日) 19:46:24
>>220
プラットフォーム依存部分を別JARにまとめた方が良いような。
2009/02/02(月) 21:20:26
>>221
そこは別jarにまとめるってのは確かにそのとおりだと思う。
1つのプロジェクト内で複数のプラットフォームの実装を作ってもテスト同時に流せないしね。
どちらにせよ↓みたいな構成になるんじゃないかなぁ。

Interface.jar
├ImplForWin.jar
├ImplForMac.jar
└ImplForLinux.jar
2009/02/15(日) 02:28:42
octave,r,rubyから来た俺の驚きは、
標準ライブラリの貧弱さ。
ていうか初心者だから未だ俺が分かってないだけかもしれないけど、
配列のboxcarとか、それどころか相加平均さえ無いって嘘だよね?
2009/02/15(日) 03:11:21
その手のことに関しては、ライブラリもないが言語構文も悲惨なのがJavaだ。
そんなことに驚いているようではJavaなんて使っていられない。
2009/02/15(日) 05:20:38
>>223
自分がどれだけ標準から離れているのか判っていない。
それで標準ライブラリを笑うのだから片腹痛いわ。
2009/02/15(日) 06:39:49
>>223
Rubyで標準ライブラリでウィンドウ表示してみろ。
マルチスレッド系もJavaは強い。
というか、Javaの「標準」ライブラリはすごいぞ。「標準」でMP3も3Dも扱える。
行列演算はJava3Dに含まれてるしな。
統計処理がやりたければ「Java Data Mining」という仕様もある。サポートベクターマシンにも対応してる。

あと、Rubyはわかるが、数学用環境であるRやOctaveと比べるのは間違ってる。
2009/02/15(日) 10:13:33
javaの標準ライブラリってjava.*とjavax.*全部だっけ?
228223
垢版 |
2009/02/15(日) 10:40:22
皆ありがとう。やっぱないのか。
笑った訳ではなく、驚いただけなのよ。
言語によって向き不向きがあるってだけのことなんだろうけど。
>>226 Java Data Mining
調べてみます。
2009/02/15(日) 12:17:36
何をそんな当たり前のことで驚いているのか
こっちが驚くわ
2009/02/15(日) 13:31:45
>>228
Java Data Miningは実装が有料のものしかないので、困り者
2009/02/15(日) 22:32:48
むしろそういう特定用途にしか使わないような標準は多量に含めてほしくないな。
そういうのは最小にして、仕様の標準化と参照実装を用意してくれるだけでいい。

しかし String や Date や List の仕様の貧弱さについてはもう少し何とかして欲しい。
2009/02/16(月) 22:25:34
仕様の貧弱さってなんだろう
機能が足りないってのなら拡張すれば良いわけだから、
言語仕様的になんか欠陥があるってこと?
2009/02/17(火) 00:18:29
>>232
StringやDateやListは拡張できんだろ。
2009/02/21(土) 07:14:00
例えばどんな機能が足りてないんだ?
C++ の string みたいに無駄に関数が増えるのは気持ち悪くてやだ。

Date には期待しない。Joda Time 使う。
235デフォルトの名無しさん
垢版 |
2009/03/19(木) 08:22:13
>>148
オヤスミ…
  <⌒/ヽ-、___
/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
2009/03/20(金) 02:25:20
>>233
なんで拡張できないのん?教えて偉い人
2009/03/20(金) 02:34:01
>>236
finalだから
2009/03/20(金) 02:35:54
>>236
Javaではクラスやオブジェクトにあとからメソッドやフィールドを追加できないから。
2009/03/20(金) 18:29:56
>>238
そんな機能必要ないだろ。何されるか分からん。

拡張できない理由は >>237
2009/03/21(土) 08:40:24
なぜ、できない理由として書いてあるのに、「そんな機能必要ない」という反応になるのか。
241デフォルトの名無しさん
垢版 |
2009/04/04(土) 18:15:13
>>101
     幽体離脱
    ∧∧ ∩
    (`・ω・)/
   ⊂  ノ
    (つノ
     (ノ
  <⌒/ヽ-、___
/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
2009/04/05(日) 04:37:56
USB API を早く実用レベルにしろ。
2009/04/05(日) 13:09:20
USB API(for Windows)初めて知った
そしてドキュメントにJNIコード大量でわらた
これってwindowsのカーネルモードとお話できたり,スキャンデータを改変したりできるのかな
無理だろうな
2009/04/06(月) 00:39:53
>>231,233,236
憶測で言うとString型はオブジェクトだけど
プリミティブ的な側面があったりimmutableだったりするので、
たぶんその辺をいじってほしくなかったんじゃないかと思う。

まあ継承継承言うよりCompositeぐらいつかおうや。
2009/04/07(火) 01:51:48
>>243
HD みたいなカーネル絡みはどうでも良いんだけど、特定業界用のデバイスや計測機器、
あと携帯や GPS なんかで気軽に遊べるとうれしいんだよね。以前 Garmin 用に JNI
組んだけど、かったるい上にプラットフォーム固定というのがひどく無駄な作業に思えた。
2009/04/07(火) 07:46:02
そうかなあ
247デフォルトの名無しさん
垢版 |
2009/04/13(月) 20:43:48
>>241
   ?
  ∧∧
  (´・ω)
 _|⊃/(___
/ ヽ_(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
248デフォルトの名無しさん
垢版 |
2009/04/14(火) 16:37:41
>>244
Rubyのmix-inのイメージなのかなと、思ったりも
特定クラスのイテレータの実装って、そう変わらん気がする・・・

>>231
はたぶんjava6の仕様見たことがなんだろうね
#collection の仕様 見た?
249デフォルトの名無しさん
垢版 |
2009/04/20(月) 19:18:39
>>247
  !
  ∧∧
 (・ω・ )
 _| ⊃/(__
/ ヽ-(___/
 ̄ ̄ ̄ ̄ ̄ ̄
2009/04/22(水) 23:28:36
sun買収されてどーなる?
2009/04/23(木) 01:15:50
OracleDB&サポート付きのjavaが世に出てJavaは二極化
2009/04/23(木) 23:29:40
javaやそのまわりのツールの類ってタダのままってわけにはいかねぇかな?
2009/04/30(木) 19:35:05
OpenJDKはGPLだから、ただのままなんじゃない?

254デフォルトの名無しさん
垢版 |
2009/05/22(金) 09:34:10
>>249-253
     オハヨー!!
    ∧∧ ∩
    (`・ω・)/
   ⊂  ノ
    (つノ
     (ノ
 ___/(___
/  (___/
 ̄ ̄ ̄ ̄ ̄ ̄
2009/07/31(金) 12:30:25
>>253
どうでもいいけど、 GPLは別に無料でご奉仕しか許さん!!って訳じゃないぞ。
GPLのコードを使った製品を公開(販売も含む)する時は、
それらのコード全部を無料または送料分程度で手に入れられるようにしろ!!
と言う怨念の類であって。

(まぁGPLは感染力が半端ないから、今更完全有料型に移行できるかどうか?は別問題だろうけど)
256デフォルトの名無しさん
垢版 |
2009/09/27(日) 04:58:04
>>1
2009/10/13(火) 20:30:21
Javaはデリゲートをサポートしてない駄作
2009/11/19(木) 21:10:07
J2SEで
NetworkInterface.getNetworkInterfaces();
の実行を禁止することってできませんか?

ここで表示される情報の組み合わせで、実行端末を特定できてしまいますよね

セキュリティ的に問題なのでこれを禁止したいのですが、設定がありません
2009/11/20(金) 00:35:30
>>258
とある実装ではセキュリティは全く考慮されてません
たぶん要件外なのでムリゲ

ちなみにネットワークインタフェースを列挙することの具体的なセキュリティ的な問題はどういうの?
2010/07/04(日) 00:02:50
String unko = null;
if (unko.isEmpty())
hogehohe...;

ってやったら、ぬるぽ出たお。
isEmpty() で null が判定できないなんて、クソだお!
2010/07/04(日) 00:47:57
nullオブジェクトを作れ
2010/07/11(日) 16:40:06
こいつは初歩を理解して無い
nullに対して参照してる時点でアフォ
たぶん平気でゼロ割とかしてバグを出すタイプ
2010/07/11(日) 17:08:09
じゃぁ初歩を理解してれば、isEmpty()でnullを判別できるのかよ。
「こんなこともできないの?」という事例を投げかけてるだけだ。
ちゃんとスレタイ読め
264名無しさん@そうだ選挙に行こう
垢版 |
2010/07/11(日) 17:20:37
>>260
>isEmpty() で null が判定できないなんて、クソだお!

逆にこれでぬるぽが出ないほうが困ると思うんだが・・・
2010/07/11(日) 17:42:44
>>260
nullが入ってるんだからメッソドが動くはずがないのに
2010/07/11(日) 20:12:21
言語仕様的にはLLの場合ならnullオブジェクトがあって
デフォルトで初期値がnullオブジェクトになってるケースが多いな
合理的だと思う
2010/07/11(日) 20:53:17
関数型言語によくあるMaybeやOption型が一番合理的だと思う
2010/07/15(木) 07:42:45
じゃぁみんな、nullチェックは、いったいどうしてるの?
if (unko == null || unko.isEmpty()) { ... }
if (unko != null && ! unko.isEmpty()) { ... }
みたいに?

アホくさ
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)
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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