位置、長さ(又は距離、範囲など)をモデル化したクラスなんですが、
標準クラスの中にいいものが無いでしょうか。
例えば、java.awt.Rectangleは2次元でのものですが、これを1次元にしたようなものです。
Rectangleを使うと、x軸とy軸のどちらを使うかなどで、困ってしまうので。
また、標準クラスに無い場合、クラス名はどんなものが適切でしょうか。
以上、よろしくお願いいたします。
それを使って何をしたいのでしょうか?
例えば、
0000110000011101111
というのを、
pos:0,len:4
pos4:len:2
pos6:len:5
pos:11:len:3
.
.
.
という形のListに集計して、その後の処理にまわすとか、ですかね。
以前から、ちょくちょく「こういうのが欲しい」とか思っていたのですが、
いざとなると、使用例がでてこないので恐縮です。
もうひとつ、思い出しましたので、補足しておきます。
swingのレイアウトマネージャーを作った時ですが、
コンポーネントの配置位置を計算する際に、横軸と縦軸をそれぞれ独立して計算した方が都合がよかったので、このようなものが欲しかったことがありました。
それから、JTableみたいなものの、カラムヘッダーの位置を計算するときにも、欲しいと思ったことがありました。
> いざとなると、使用例がでてこない
とありますが、「汎用性のあるどんなときでも使いやすい共通クラス」のようなものを設計するべきではありません。
位置、長さといったものがどういう意図で使われるのか明確になってから個別にクラスにすればいいと思います。
こちらの記事も参考にしてください: https://qiita.com/shiz/items/b5a0e263c4c005a22704
「使用例がでてこない」というのは、言い方が悪かったかもしれませんね。
過去に何度か欲しいと思う機会が間違いなくあったのですが、その時は、その場でクラスを作るなりで済ませました。
今回、「そう言えば」と思い質問を出したわけですが、過去の事例が何だったのかをちょっと思い出せなかった、という意味です。
リンク先の記事を読みました。基本的には同意しますが、今回のは部品レベルのクラスの話なので、当てはまるのかな?とか思います。それに、実際に欲しいと思ったことがあったわけですし。
実際に欲しいと思ったときにその欲しいクラスを都度設計すればいいと思います。
もし、汎用化しても使い勝手が良い、と思う実装のアイデアがあるなら、ご自身でライブラリ化するのが一番です。
ところでSwingとかキーワードが出てきたのですが、その文脈も質問には書かれていません。
「何に関する位置、長さ」の情報をコントロールしたいのかがそもそも共有されていないので、物理的な位置(緯度経度など)、長さ(mmなど)と質問を読んでしまいました。
ラフに質問すること自体はいいのですが、質問したいことが相手に伝わるかどうか今一度振り返ってみてください。
それは申し訳ありませんでした。
正直、自分の中では、「みんな欲しいと思ったことがあるのではないか」と勝手に思っていたので、
すぐに理解してもらえるものかと思ってました。
今度質問する機会があれば気をつけます。
そのようなデータ構造で表せそうなものを2つ考えてみます。
* ある文字列の始まりからの位置と長さ
* 開始時刻とそこからの期間
で、この2つを統一的に表現したとして、なにか嬉しいことがあるでしょうか。
ある程度用途が限定されないと自作するにしても意味がないと思います。
回答3件
あなたの回答
tips
プレビュー