1 名前:デフォルトの名無しさん mailto:sage [2013/10/20(日) 19:30:39.35 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 (p)ttp://www.wikiroom.com/java/?path,classpath ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 ・String に == は使うな。equals() を使え。※ 前スレッド ★★Java質問・相談スレッド164★★ toro.2ch.net/test/read.cgi/tech/1378219684/
26 名前:デフォルトの名無しさん [2013/10/24(木) 04:15:05.60 ] >>25 <T extends Interface> String mehod(List<T> list)
27 名前:デフォルトの名無しさん mailto:sage [2013/10/24(木) 12:24:54.82 ] ワイルドカード
28 名前:デフォルトの名無しさん mailto:sage [2013/10/24(木) 12:48:52.20 ] >>26 >>27 出来ました!ありがとうございます! 単体試験が5分の1になりました! 全体から見れば大したことないですが、こういう積み重ねが後々効いてきますね。
29 名前:デフォルトの名無しさん mailto:sage [2013/10/24(木) 13:58:55.11 ] たかがこんなことで5分の1だと、、、?
30 名前:デフォルトの名無しさん mailto:sage [2013/10/24(木) 15:28:55.80 ] >>29 今まで5つメソッドあったのを、これで1つに出来たからです。
31 名前:デフォルトの名無しさん mailto:sage [2013/10/24(木) 17:25:37.36 ] >>26 の場合とワイルドカード使う場合って何か違いあるのかな? <T extends Interface> String foo(List<T> list) と String foo(List<? extend Interface> list) の違いって意味ね、前者もメソッド呼び出し時に型パラメータ指定しなくても暗黙的に呼び出せるよね
32 名前:デフォルトの名無しさん mailto:sage [2013/10/24(木) 18:34:18.18 ] T を複数箇所で使える <T> void swap(List<T> list) { T x = list.get(0); T y = list.get(1); list.set(1, x); list.set(0, y); } とか そうでなければ一緒
33 名前:デフォルトの名無しさん mailto:sage [2013/10/24(木) 20:29:30.36 ] 質問です class Aaa extends Bbb<任意の型,任意の型> のようになっているコードを見たのですがこれを class Test extends Aaa<任意の型,任意の型> のように更に継承させて使いたい場合はどうしたらいいでしょうか?
34 名前:デフォルトの名無しさん mailto:sage [2013/10/24(木) 20:43:07.00 ] >>33 super<型,型>() って使えないの?
35 名前:デフォルトの名無しさん mailto:sage [2013/10/24(木) 21:03:29.25 ] 型のところにどの型でも入れる方法がわからないです
36 名前:デフォルトの名無しさん [2013/10/24(木) 21:11:58.51 ] もうjavaはほぼマスターした。 もし俺がjavaで人間作ったらアナフィラキシーショックとか 自分自身で異常を起こしているバグみたいなのをなくすことができるとおもう
37 名前:デフォルトの名無しさん mailto:sage [2013/10/24(木) 21:32:23.30 ] よかったね、南極29号でも作ってよ
38 名前:デフォルトの名無しさん mailto:sage [2013/10/24(木) 21:38:19.31 ] Swingのライブラリを使っている上で気になったのですが、 例えば、JFrameのsetSize(Dimension d)は縦横のプリミティブ値を コピーしたものをsetしているけど、setLayout(LayoutManager manager)は LayoutManagerのインスタンスの参照を直接setしてますよね? このように、あるクラスAのsetメソッドの引数がプリミティブ型ではなく、 あるクラスBのインスタンスの参照を渡すようになっている場合において、 そのAのsetメソッドの中で、Bのインスタンスの参照が直接setされるのか、 Bのフィールドの値をコピーしてsetするのか、どちらを行なっているのかを 知るためには、ライブラリのドキュメントを確認するしかないのでしょうか? setメソッドだけではなく、その他の参照を引数に取るメソッドや、 参照が戻り値になってるメソッドにおいても、色々と怖いような気がします もし、Javaの基本原則として「参照を直接setしちゃダメ(もしくは逆)」みたいな 暗黙の規則があるのならばそれも教えていただきたいです
39 名前:デフォルトの名無しさん [2013/10/24(木) 21:54:23.63 ] 相手のスマホに保存されてる画像を見れてしまうウイルスって作れますか?
40 名前:デフォルトの名無しさん mailto:sage [2013/10/24(木) 21:58:43.72 ] 通報すました
41 名前:デフォルトの名無しさん mailto:sage [2013/10/24(木) 22:40:33.30 ] >>38 swingだろと他ライブラリだろうと、ドキュメントに書かれてないことは基本何でもアリ。 自分で防衛するしかない。
42 名前:デフォルトの名無しさん mailto:sage [2013/10/24(木) 23:43:35.27 ] >>31 >前者もメソッド呼び出し時に型パラメータ指定しなくても暗黙的に呼び出せるよね java7までは型パラメータはObjectとして推論するから型安全じゃない。パラメタ指定したほうがいい。 8から正しく推論できるからもうちょっとの辛抱や。
43 名前:デフォルトの名無しさん mailto:sage [2013/10/25(金) 05:49:27.69 ] jadでデコンパイルした.classファイルを.javaに戻すにはどうすればいいですか? あとデコンパイルするソフトってjad以外にありますか?使いやすいやつを探してます
44 名前:デフォルトの名無しさん [2013/10/25(金) 07:08:55.12 ] >>33 class Test<A, B> extends Aaa<A, B>
45 名前:デフォルトの名無しさん mailto:sage [2013/10/25(金) 10:02:38.97 ] >>38 >>41 が正しい答え。 あと補足しておくと、ソースコードを見れば内部でどういう処理を行っているかはわかる。 ただしソースコードの実装は「無保証」であるから、いつ実装内容が変更されても文句は言えない よって仮にソースコードを読んで内部実装を知ってもそれを利用することは避けるべき
46 名前:デフォルトの名無しさん mailto:sage [2013/10/25(金) 10:39:18.94 ] Javaが嫉妬する言語ってなにかな
47 名前:デフォルトの名無しさん [2013/10/25(金) 11:35:24.86 ] 嫉妬という概念すらない
48 名前:デフォルトの名無しさん mailto:sage [2013/10/25(金) 11:43:31.36 ] Javaプログラマが嫉妬することはあるかもしれないが、 Javaが嫉妬することはないだろうね。
49 名前:デフォルトの名無しさん [2013/10/25(金) 12:14:33.73 ] >>46 C#だろう。Java8は完全にC#の後追い。 インタフェースがあれば他に何もいらないと言っていた在りし日の姿からは程遠い色物になってしまったよ。
50 名前:デフォルトの名無しさん mailto:sage [2013/10/25(金) 13:19:21.27 ] .NETがマルチプラットフォームなら 世界は平和だったのに…
51 名前:デフォルトの名無しさん mailto:sage [2013/10/25(金) 14:57:23.94 ] 新しい言語はいいとこ取りし放題なわけだし、そのうちC#よりも優れた言語も出てくるだろ ポケベルが消え、公衆電話が消え、携帯電話が消え、スマホが使われまくってるみたいに Javaが消え、そしてC#もいずれ消える定め
52 名前:デフォルトの名無しさん mailto:sage [2013/10/25(金) 16:20:26.77 ] C#とJavaってどういう分野で競合してるんだろう WindowsアプリをJavaで作る人間はいないし、 マルチプラットフォームをC#で作る人間もいない
53 名前:デフォルトの名無しさん mailto:sage [2013/10/25(金) 16:29:55.76 ] aspかjspか
54 名前:デフォルトの名無しさん mailto:sage [2013/10/25(金) 17:50:11.19 ] 誰か助けてくれますか?
55 名前:デフォルトの名無しさん mailto:sage [2013/10/25(金) 17:52:01.32 ] Can I help you.
56 名前:デフォルトの名無しさん mailto:sage [2013/10/25(金) 17:59:03.72 ] ほぼ素人ですみませんが、質問です isEof = c.moveToFirst(); while (isEof) { item.setText1(String.format("%d:%d", c.getInt(4), c.getInt(5))); item.setText2(c.getString(7)); customAdapter.add(item); isEof = c.moveToNext(); } listView.setAdapter(customAdapter); 上のループで CustomData item = new CustomData(); を外側に置いた場合、リストの内容が全て一番最後に入力したものになります これはsetAdapterしたときにitem内に格納されているデータ(最後に入力したデータ)を読みにいっているために起こるという認識で良いのでしょうか また、内側に置くことで全て表示出来るようになりましたが、この場合はなぜ表示できるのでしょうか
57 名前:デフォルトの名無しさん mailto:sage [2013/10/25(金) 19:14:12.55 ] 外側に置いた場合は CustomData をひとつしか new してないわけだから アダプタの中には全項目でひとつの CustomData を共有している 内側に置いた場合は一項目ごとに新しい CustomData を new しているわけだから アダプタの中には項目ごとに別々の CustomData がある
58 名前:デフォルトの名無しさん mailto:sage [2013/10/25(金) 19:35:26.33 ] 絵で描くとこんな感じ fast-uploader.com/transfer/6938252686854.png ひとつしかないから setText1 とかは前のを上書きして最後のが残る
59 名前:デフォルトの名無しさん mailto:sage [2013/10/25(金) 21:34:57.69 ] mavenを使ってjarだけダウンロードする方法ないんですか?
60 名前:デフォルトの名無しさん [2013/10/26(土) 14:48:28.34 ] Commons LangのEqualsBuilderとHashCodeBuilderって便利そうだけど、かなり遅くなりますか?
61 名前:デフォルトの名無しさん [2013/10/26(土) 14:54:44.59 ] security managerが動いてると駄目なのか、いまいち使えないな。
62 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 16:40:47.34 ] すみません、fc2ブログで、多数の画像のaltを一括で一つの文章(単語)に変更したいのですが、 javaとかでこう言う事は可能でしょうか? また可能なら参考になるサイトがあれば教えてください。
63 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 16:45:08.30 ] >>62 HTMLの変換ならXLSTでできる、XML Javaの本かggrb見つかる
64 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 16:51:05.70 ] >>59 mvn dependency:copy-dependenciesじゃ駄目かな。 ほしいJarをdependencyに書いておいてこのコマンドで依存性も含めて全部落としてきて target/dependency内にコピると思うけど。
65 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 16:56:53.25 ] >>63 レスありがとうございます そちらの方を検索して探してきます
66 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 17:22:10.04 ] >>62 xmlstarletで簡単にできそうなんでやってみたら、xhtml的に解釈できないとこがあって無理だった。
67 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 18:24:39.87 ] import javax.swing.text.html.parser.ParserDelegator; import javax.swing.text.html.HTMLEditorKit; import javax.swing.text.html.HTML; import javax.swing.text.MutableAttributeSet; import java.io.FileReader; import java.io.FileNotFoundException; import java.io.IOException; import javax.swing.text.BadLocationException; class Hoge extends HTMLEditorKit.ParserCallback { public static void main(String[] args) throws FileNotFoundException, IOException { Hoge hoge = new Hoge(); FileReader file = new FileReader("unko.html"); ParserDelegator pd = new ParserDelegator(); pd.parse(file, hoge, true); file.close(); }
68 名前:デフォルトの名無しさん [2013/10/26(土) 18:32:12.60 ] eclipseってなにがいいの? swingはnetbeansのほうが優れてると思うし、 eclipseってwebアプリケーションとかの人が使ってるんだろうか
69 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 18:35:45.95 ] www54.atwiki.jp/projecthikky/pages/38.html 使えなかった
70 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 18:43:48.71 ] >>68 動作が軽快なとこがいいよ。
71 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 18:45:40.67 ] if ((p = (char *)malloc(size)) != NULL){...} javaでこういう比較と代入を一括でできませんか?
72 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 19:15:20.81 ] 出来るけど古いイディオムかな。 書かれているmallocの例の場合は処理の流れの読みやすさを優先して個人的は二行に 分割すると思う。 比較的頻出するパターンだとwhileを使ったファイルの逐次読み込み。 Java File whileでググるとwhileの条件内で代入と比較を同時に行う例がよく出てくる。 ただ最近はこういった逐次読み込みもイテレーターとして抽象化してfor(:)で手軽に 行えるようにする場合が多い気がする。
73 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 22:34:25.01 ] 8ならStreemにする。 Files#lines(java.nio.file.Path, java.nio.charset.Charset)とか
74 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 22:35:24.18 ] >>57 >>58 同じ名前でもループした分だけちゃんとクラスが作られてるんですね 親切に教えていただいてありがとうございます。謎が解けました
75 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 22:49:29.27 ] ジャバのウンコさんたちはイテレータとかストリームとか難しいこといっぱい知ってるんですねT_T
76 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 23:03:26.53 ] うんこがしゃべった
77 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 23:11:47.50 ] 藁
78 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 23:17:14.24 ] >>74 なんの亀レスかと思ったら>>56 のextentの話か >(最後に入力したデータ)を読みにいっている 見えるか見えないかじゃなくて存在するかしないかの話。見えるのと存在するのと代入はそれぞれ違う。 >同じ名前でもループした分だけちゃんとクラスが作られてるんですね javaはブロックスコープだからループ回すたびにコールスタックにスタックフレームpushするからループ回すたびに存在する、 ループ抜けるとスタックからpopするから存在しなくなる。これが繰り返されるから結果ループ回すたびにループした分だけちゃんとクラスが作られる。 無限ループするとStackoverflowするじゃん。スタック足らなくなって変数作れなくなったぜベイベー!って合図。
79 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 23:35:43.70 ] うんこをプッシュしたりポップしたりして長いループでベイベーなんですか?
80 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 23:40:59.16 ] 例えば、80秒を1分20秒に変換してくれるフォーマットはありますか? 60秒に満たない場合は秒表示のみできると助かるんですが。
81 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 23:52:45.62 ] >>80 ない。 自作すれば。 簡単だし
82 名前:デフォルトの名無しさん [2013/10/26(土) 23:52:56.95 ] >>78 >javaはブロックスコープだからループ回すたびにコールスタックにスタックフレームpushするからループ回すたびに存在する 違う。同じローカル変数を初期化して再利用してる。 コンパイラがブロックスコープで名前解決してくれてるだけ。
83 名前:デフォルトの名無しさん mailto:sage [2013/10/27(日) 00:01:09.25 ] java6でもそうだっけ
84 名前:デフォルトの名無しさん mailto:sage [2013/10/27(日) 00:07:49.07 ] 実装次第と言えばそうなんだが、 C系の静的言語の設計ではブロック変数を>>82 のように実装するのが大々大前提だからね よほど今と大きく異なるアーキテクチャのマシンで動かすのでもない限りは変わることはありえない
85 名前:デフォルトの名無しさん [2013/10/27(日) 00:30:51.25 ] >>81 30分ぐらい探してたので、ないと言ってもらえて助かりました。 private String fomatSecound(int secound){ int h = secound / 3600; int m = (secound - (h * 3600)) / 60; int s = (secound - (h * 3600) - (m * 60)); String duration; duration = h == 0 ? "" : h + "時間"; duration = m == 0 ? duration : duration + m + "分"; duration = s == 0 ? duration : duration + s + "秒"; return duration; } こんなコード書いたんですけど、 もっとスマートな方法あったら教えてください。
86 名前:デフォルトの名無しさん mailto:sage [2013/10/27(日) 00:57:47.01 ] jettyでspring3を使おうと思うのですが、怒られてしまいます。 何か設定が悪いからなのでしょうか? SEVERE: Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchFieldError: NULL at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:529) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
87 名前:デフォルトの名無しさん mailto:sage [2013/10/27(日) 02:40:28.26 ] 軽く調べてみたらSpringの各コンポーネント間のバージョンのコンフリクトが 原因で起こっている事例がいくつか。
88 名前:デフォルトの名無しさん mailto:sage [2013/10/27(日) 03:13:17.33 ] >>85 無いのなら自前で作ったものをライブラリとして公開するとかしたらとても
89 名前:デフォルトの名無しさん mailto:sage [2013/10/27(日) 03:23:50.94 ] おし!ライブラリ公開だ! class TimeFormater { public static void main(String[] args) { int s = TimeFormater.toSeconds(7, 33, 55); System.out.println(TimeFormater.format(s)); } public static int toSeconds(int hours, int minutes, int seconds) { return 3600 * hours + 60 * minutes + seconds; } public static String format(int seconds) { int h = seconds / 3600; int m = (seconds / 60) % 60; int s = seconds % 60; return (h > 0 ? h + "時" : "") + (h + m > 0 ? m + "分" : "") + s + "秒"; } }
90 名前:デフォルトの名無しさん mailto:sage [2013/10/27(日) 03:28:32.61 ] >89 つ Joda PeriodFormatter
91 名前:デフォルトの名無しさん mailto:sage [2013/10/27(日) 03:33:30.93 ] >>85 "Java time pretty print"でググればそれなりに方法は出てくる。 あと時刻に関してJavaでちょっと凝ったことをする場合はJodaが定番。
92 名前:デフォルトの名無しさん mailto:sage [2013/10/27(日) 03:42:09.10 ] Joda便利杉ワロタ Joda-Time - Java date and time API - Home www.joda.org/joda-time/index.html
93 名前:デフォルトの名無しさん [2013/10/27(日) 03:54:18.30 ] >>92 これはいいかも! Calendarにはガバガバメモリーリークしてるバグがあるからなw
94 名前:デフォルトの名無しさん mailto:sage [2013/10/27(日) 04:28:13.28 ] ヨーダのステマ
95 名前:デフォルトの名無しさん mailto:sage [2013/10/27(日) 04:29:18.51 ] >"Java time pretty print"でググればそれなりに方法は出てくる。 英語で検索とは・・・日本語圏での情報は少ないってことか