いくつかの変数を文字列に変換して、メッセージまたはメソッド経由で送信したい場合があります。
たとえば、次の変数がある場合:
int addressNum = 223;
String stName = "Main St";
String city = "Chicago";
それを単一の文字列"223; Main St; Chicago"
に変換して変数に戻すにはどうすればよいですか?
ある種の区切り文字を使用します(, :)
String fullAddress+=addressNum+":"+stName+":"+city;
後で、使用される区切り文字に基づいて fullAddress を分割します。
String[] arr = fullAddress.split(":");
int addressNumber = Integer.parseInt(arr[0]);
String streetName = arr[1];
String cityName = arr[2];
String oneLine = addressNum + "; " + stName + "; " + city; - make it in sinle line
// split it to variables below
String[] arr = oneLine.split(";");
addressNum = Integer.parseString(arr[0].trim());
stName = arr[1].trim();
city = arr[2].trim();
選択するエンコーディングは可逆 (全単射) でなければなりません。
adress="value"
JSONやByteBufferなどの標準を使用することをお勧めします。
String の代わりに、データを保持するラッパー クラスを記述します。
public class SomeWrapper
{
int addressNum;
String stName;
String city;
// constructors, setters and getters
}
次に、次のように使用します。
SomeWrapper w = new SomeWrapper(223, "Main St", "Chicago");
次のように抽出します。
int addressNum = w.getAddressNumber();
String stName = w.getStreetName();
String city = w.getCity();
そして、単純に次のようなメソッドに渡すことができます:
public static void doSomething(SomeWrapper w)
{
int addressNum = w.getAddressNumber();
// ...
}
// ...
public static void main(String[] args)
{
SomeWrapper w = ...;
doSomething(w);
}