ورود

View Full Version : کپی "مقدار" یک string در string دیگر



Fatemehj
یک شنبه 29 خرداد 1390, 02:18 صبح
سلام

من میخوام محتوا و مقدار یک string رو در string دیگه کپی کنم، به طوری که دومی به اولی رفرنس نداشته باشه و فقط مقدار کپی بشه. برای این کار راه حل‌های مختلفی پیشنهاد شده (مثلا استفاده از copy constructor )، اما مشکل اینجاست که رشته اول قراره در یک حلقه while مقدارش تولید بشه و بعد از اینکه حلقه به شرط اتمامش رسید آخرین مقدار رشته در رشته دوم قرار بگیره، و بعد از خروج از حلقه بشه از اون مقدار استفاده کرد.
هیچ کدوم از راههای زیر جواب ندادن:

String linetmp = "";
String line="";

while( null != ( linetmp = data_freqItemsets_in.readLine() ) )
{
char d[]=linetmp.toCharArray();
line = String.copyValueOf(d);
}
System.out.println(line);


String linetmp = "";
String line="";

while( null != ( linetmp = data_freqItemsets_in.readLine() ) )
{
char [] l = new char[linetmp.length()];
l= linetmp.toCharArray();
line= "";
for (int m=0; m<linetmp.length();m++)
{
line = line + l[m];
}
}
System.out.println(line);

برای استفاده از متد clone برای رشته باید چه کد اضافه‌ای نوشت؟

javaphantom
دوشنبه 30 خرداد 1390, 09:49 صبح
public class TestClass implements Cloneable {

private String message;

public TestClass() {
}

public String getMessage() {
return message;
}

public void setMessage(String message) {
this.message = message;
}

public static void main(String[] s) throws CloneNotSupportedException {
TestClass testClass = new TestClass();

System.out.println("testClass.hashCode() = " + testClass.hashCode());

testClass.setMessage("babak");

System.out.println("testClass.getMessage() = " + testClass.getMessage());

TestClass cloneTestClass = (TestClass) testClass.clone();
System.out.println("cloneTestClass.hashCode() = " + cloneTestClass.hashCode());

System.out.println("cloneTestClass.getMessage() = " + cloneTestClass.getMessage());
}

}

mostafabahrami
دوشنبه 06 تیر 1390, 12:22 عصر
سلام.فکر نمی کنم نیازی به استفاده از متدهای خاصی باشه . به نظر من استفاده از متد toString کفایت کنه. اینم کدش با خروجی تست شده.

String s1=new String("ali");
String s2=s1.toString();
System.out.println("s1 = " + s1);
System.out.println("s2 = " + s2);
s1=new String("salam");
System.out.println("s1 = " + s1);
System.out.println("s2 = " + s2);
s2 = new String("sadegh");
System.out.println("s1 = " + s1);
System.out.println("s2 = " + s2);

اینم خروجیش:
s1 = ali
s2 = ali
s1 = salam
s2 = ali
s1 = salam
s2 = sadegh
امیدوارم به دردت بخوره!