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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2007/05/19(土) 22:13:03
mainメソッドから値を返す。
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
デザインパターンを勉強した方がいいよね
2008/09/08(月) 12:24:56
>>178
> で、クラスA,B,C・・・のテーブルの生成、削除等はstaticメソッドにしたかったのですが
ここがそもそもの発端なわけですね
2008/09/08(月) 12:39:15
static にしてもすっきりしないと思う。
どういうのが”すっきり”かも人それぞれだけどなw
184167
垢版 |
2008/09/08(月) 15:39:37
abstractクラス.staticメソッドとやれば
それぞれを実装しているサブクラスのstaticメソッドが実行されるって
ことができれば便利だとおもうんだけどなあ・・・
2008/09/08(月) 16:00:59
>>184
それ明示的にクラス名書いて呼ぶの?動的じゃなくて?
2008/09/08(月) 16:10:52
簡単に数値に変換できるかどうか判定したいんですが・・・
2008/09/08(月) 16:15:31
>>186
javaの質問スレって認識したうえでのろうぜきかや
IntegerとかLongとかDoubleとかBigDecimalとかつかってparseできるか試すのがいいんでね?
2008/09/08(月) 16:23:12
abstractクラス.staticメソッド
こんなんでどうやってどのサブクラスのstaticメソッド呼ぶか確定できるんだよ。javerってこんなことも理解できないの?
2008/09/08(月) 16:33:33
>>187
いや、質問ではなくて そういう機能くらいデフォルトであればいいかな?的な 発言
Parseで失敗したらとかやってるとExceptionとかでしか判断できないからスマートではないのかな?
とか思ったりしたんで。

紛らわしくてごめん
190167
垢版 |
2008/09/08(月) 16:36:41
>>185
すみません書き方が悪かったす。
オレがイメージしていたのは、
abstractクラスのAで、
abstract static void createTable();
となっていて
Aを実装するクラスBのインスタンスbで
b.createTable()とやれば
クラスBで実装したstaticメソッドcreateTable()が呼ばれるといいなと。
しかしまあ、Bのインスタンスをつかわなければならん時点で、
abstract static voidが可能だとしてもあまりスマートな結果は得られませんね。
皆様失礼しました。

2008/09/08(月) 16:37:36
たぶんこんな使い方をしたいんだろうと予想

abstract class Foo {
public static abstract void method();
}
class Bar extends Foo {
public static void method(){ ... }
}

Class<? extends Foo> absclass = Bar.class;
absclass.method();
2008/09/09(火) 00:14:56
普通に使えそうじゃん
193デフォルトの名無しさん
垢版 |
2008/11/11(火) 10:49:33
Javaは
public void delete(List<クラスA> _list) throws ModelException;

public void delete(List<クラスB> _list) throws ModelException;
が同じシグニチャだと思ってるようだな。
困るなあ。
しょせんジェネリックなんて付け焼き刃ってことか。
194デフォルトの名無しさん
垢版 |
2008/11/11(火) 10:54:41
ええはい
言語上の型安全性の保障だけでマシン的には何も変わっていませんので・・・
2008/11/11(火) 13:36:39
while (1)が使えないとかうぜー
しかもwhile ((boolean)1)もダメとか
俺は1が使いたいんだよおおおおおお
2008/11/11(火) 17:00:55
>>195
全角でどうかな?
boolean 1 = true
2008/11/11(火) 18:45:55
>>195
Cとかjavaとかが1/2が0になるのウゼ
どう考えても0.5だろwwwwバカじゃないの?
みたいな
2008/11/11(火) 23:10:57
>>195
for(;;)
2008/11/17(月) 11:21:16
>>195
trueかfalseを書けって仕様なんだから仕方がない。
200デフォルトの名無しさん
垢版 |
2008/11/27(木) 03:04:52
JAVAって多少間違ってても動いちゃうよな。
2008/11/27(木) 07:22:36
多少間違いがあるとコンパイル通らないがな。

もしかしてDIを意識して動いちゃうとか言ってる?
2008/11/30(日) 00:05:19
どんな言語だって仕様どおりに組んでなくたって動くことは動く
2008/12/04(木) 18:31:55
途中で return false; って中断したいのが出来ない。
デバッグ中によくやらないか?
204デフォルトの名無しさん
垢版 |
2008/12/05(金) 00:42:05
それって警告レベル帰るとなんとかならない?
205デフォルトの名無しさん
垢版 |
2008/12/05(金) 01:47:54
VB.NETで言うDirectCastを実装して欲しかった(^_^;)
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
まぁまぁ、ケンカすんなって。
インタプリタ言語同士、仲良くしろよ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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