★★Java質問・相談スレッド163★★at TECH
★★Java質問・相談スレッド163★★ - 暇つぶし2ch1:デフォルトの名無しさん
13/07/26 01:25:25.58
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    URLリンク(pc11.2ch.net)
Webプログラミング URLリンク(pc11.2ch.net)
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 (p)URLリンク(www.wikiroom.com)
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
★★Java質問・相談スレッド162★★
スレリンク(tech板)

2:デフォルトの名無しさん
13/07/26 09:10:26.44
>>1 乙

>String に == は使うな。equals() を使え。
真に受ける人がいるからテンプレから削除するか
補足が必要

定数のcommand文字列と同一オブジェクトを比較する場合
==で比較するほうが可読性が良い場合がある
なんでもかんでもequals()つかってはいけない

同一クラス内において文字列リテラルは同一インスタンスである

String a = "adb";
String b = "adb";

a==bはtrueになるので初心者は罠にはまることがある


余談
1.7でスイッチ(String)が使えるようになったが
String key = null
swhich(key)はぬるぽになるのでcese null:とかできない

3:デフォルトの名無しさん
13/07/26 10:18:57.40
聞かれたことにだけ回答しろ。わかったかこのクソヤロー

4:デフォルトの名無しさん
13/07/26 12:15:51.77 fksBQ7U6!
javaで文字などの長さを求めたいときにhoge.lenghtを使うと思うのですが、
どうやったらそのメソッドlengthを自ら定義出きるのでしょうか?

Haskellであれば
length' :: String -> Int
length' string = case (string) of
[] -> 0
(_:xs) -> 1 + length' xs
みたいにして自分で作るのですが。

5:デフォルトの名無しさん
13/07/26 12:24:53.62
>そのメソッドlengthを自ら定義

日本語でお書きください

6:デフォルトの名無しさん
13/07/26 12:36:34.05
hoge.length() じゃいかんのか?

7:デフォルトの名無しさん
13/07/26 12:46:57.16
$len = String.length();

int a = len;
こうしたいってこと?

8:デフォルトの名無しさん
13/07/26 13:19:39.27 fksBQ7U6!
書き方がまずかったかな。
>>6
のlength()を自分で作った関数(メソッド)で使いたい?
>>7
$がよくわからないのですが、ちょっと違うようなきがします。


例えば、length'に"Hello, World!" と入れたら12が帰ってくるみたいに,
メソッドが何かしらの入力値を取り、その入力値の長さを返すみたいな。

length()ってどうやって書かれているのでしょうか?

9:デフォルトの名無しさん
13/07/26 14:36:03.12
ざっくり説明すると
単純にchar[].lenghtを返しているわけではなく
byteに収まらない文字もあるわけでそのために文字数を
countした値を返しているようです

コード自体はこれだけです

public int length() {
return count;
}

10:デフォルトの名無しさん
13/07/26 14:37:20.02
ちなみにStringはファイナルなクラスなのでおーばライドはできますん

11:デフォルトの名無しさん
13/07/26 14:38:30.52
おぶじぇくと指向からおしえるべきでは

12:デフォルトの名無しさん
13/07/26 14:45:48.81
それなら

static int length(String s) {
return s.length();
}
これでどうだ!!・・・

13:デフォルトの名無しさん
13/07/26 15:38:02.26 fksBQ7U6!
うん。自分は何か根本的に間違ってたみたいです。
>>9~12
ありがとうございます。

けど、これreturn s.length()はな~。

14:デフォルトの名無しさん
13/07/26 19:54:53.48
Date and Time APIはSQLやXMLデータ型に透過性がありそうでいいな
JPAでTemporalなしで使えるようにならんかな

15:デフォルトの名無しさん
13/07/26 22:22:29.23
前スレ998だが、999は俺じゃない。でも面白かった

16:デフォルトの名無しさん
13/07/27 12:04:25.61
標準APIのこのあたりのソースみておけって部分あれば教えて下さいな
入出力あたりはみたのでそれ以外で

17:デフォルトの名無しさん
13/07/27 12:15:35.33
なぜAPIのソースをみようとするのかわからない

18:デフォルトの名無しさん
13/07/27 12:25:46.09
同意。ああいうのはどうしても知りたい特定の部分があるときに読むもんで、
目的がないならあんな細切れなソース読んでも意味ない。
オープンソースのアプリのソースを読んだほうがいい。

19:デフォルトの名無しさん
13/07/27 12:50:52.68
>ああいうのはどうしても知りたい特定の部分があるときによむもんで

今までそうしかしてこなかったので…
何よりデザインパターンの有名な本にクラスライブラリには
デザインパターンが沢山活かされていることが書かれていたので。
swtはそこそこ読みました
オープンソースでもよろしいので教えて下さい

20:デフォルトの名無しさん
13/07/27 23:42:17.44
標準クラスだけど多態性のすべてが入っている気がしたので

java.awt.image.Raster
public DataBuffer getDataBuffer().getData()

関連クラス
DataBufferUShort
DataBufferByte

21:デフォルトの名無しさん
13/07/28 08:20:36.92
>>20
中身見たことなかったので見てみます
BufferedImage等のデータ配列に直接アクセスして高速化したい場合によく使われてるやつですよね

標準APIって全体的にAdapterパターンがうまいな~と思います

22:デフォルトの名無しさん
13/07/28 08:26:54.15
swingで質問なんですけど、背景として画像を設定しつつその上に他のコンポーネント貼る方法ありませんか?

23:デフォルトの名無しさん
13/07/28 09:28:45.80
>>22
javax.swing.OverlayLayout

24:デフォルトの名無しさん
13/07/28 09:59:15.81
1.7から透明色が動くようになってたりする


カラーモデルによって配列の型が変わるから一概には言えないけど
1920x1080を配列に置き換える場合

int getRgb(x, y) 500ms
Bufferのデータから再配置 35ms

25:デフォルトの名無しさん
13/07/28 15:55:41.31
Javaの画像処理が速いということがバレてしまうので
これ以上ラスタ使うBufferedImageの話は禁止で。

26:デフォルトの名無しさん
13/07/28 16:11:26.67
解決しました。
ありがとうございました。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch