ورود

View Full Version : بازگرداندن چند مقدار متفاوت از یک متد داخل کلاس



sara_aryanfar
پنج شنبه 22 مهر 1395, 15:38 عصر
با سلام دوستان من نیاز دارم که 3 عدد رشته و یک عدد لیست رو از یک متد برگردونم حالا تا جایی که دیدم جاوا تنها یک مقدار رو برگشت میده از متد ها چطور می تونم اینکار رو بکنم ممنون میشم راهنمایی کنید

Nevercom
پنج شنبه 22 مهر 1395, 17:57 عصر
یه کلاس بسازید و مقادیری که میخواید تو متد برگشت بدید رو بعنوان فیلد تعریف کنید. و براش getter و Setter بسازید.

این کلاس رو بعنوان return Type متد تعریف کنید

tux-world
شنبه 24 مهر 1395, 10:22 صبح
یه کلاس بسازید و مقادیری که میخواید تو متد برگشت بدید رو بعنوان فیلد تعریف کنید. و براش getter و Setter بسازید.

این کلاس رو بعنوان return Type متد تعریف کنید

سلام. فکر میکنم بهتره براشون یه مثال ساده بزنید متوچه بشن :چشمک:

Nevercom
شنبه 24 مهر 1395, 15:17 عصر
بعنوان مثال، این کلاس Error هست که ازش برای برگشت دادن جزئیات خطا در ارتباز با سرور استفاده می کنم:




public class Error implements Parcelable {
private int errorCode;
private String message;

public int getErrorCode() {
return errorCode;
}

public String getMessage() {
return message;
}

public static final Creator<Error> CREATOR = new Creator<Error>() {
public Error createFromParcel(Parcel source) {
return new Error(source);
}

public Error[] newArray(int size) {
return new Error[size];
}
};

protected Error(Parcel in) {
this.errorCode = in.readInt();
this.message = in.readString();
}

public Error(int errorCode, String message) {
this.errorCode = errorCode;
this.message = message;
}

@Override
public int describeContents() {

return 0;
}

@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(this.errorCode);
dest.writeString(this.message);
}
}

اون بخش های مربوط به Parcelable اختیاری هست و اگر باشه امکان ارسال کلاس در intent رو فراهم می کنه، در ساده ترین شکل ممکن، کلاس بالا به این شکل تعریف میشه:




public class Error {
private int errorCode;
private String message;

public int getErrorCode() {
return errorCode;
}

public String getMessage() {
return message;
}



public Error(int errorCode, String message) {
this.errorCode = errorCode;
this.message = message;
}

}

تو این کلاس من دوتا فیلد تعریف کردم، یکی int و دیگری String. شما بنا به نیازت هرچندتا فیلد با هر نوعی میتونی اضافه کنی.

اینم نحوه ی استفاده:


public Error dummyMethod() {
return new Error(-1, "Some error occured");
}