编程C,C ++,Java,PHP,Ruby,图灵,VB
计算机科学加拿大 
编程C,C ++,Java,PHP,Ruby,图灵,VB  

用户名:   Password: 
 登记登记   

 Wiki.Wiki.   博客博客   搜索搜索   图灵图灵   聊天室  成员成员 
 [教程]字符串和字符串操作
指数 -> 编程,Java. -> java.教程
查看上一个主题 可打印的版本下载主题利率主题订阅本主题私人信息刷新页面 查看下一个主题
作者 信息
Rizzix.




邮政发布: 星期五,2003年5月30日下午6:00  帖子主题:[教程]字符串和字符串操作

本教程将帮助您了解Java中的字符串对象。

在大多数语言中 细绳s是一个字符数组。这包括图灵。

但是在oop种语言中,如java / c ++,你得到了太傻瓜的字符串是对象。因此,字符串操作非常容易!

在Java中,您将向像素中的字符串对象声明reflece。

java.:

细绳 my_string;


现在,您可以将新字符串对象分配给 my_string. reference
像这样:

java.:

my_string. =. 新的 细绳(“这是一个字符串文字”);


这里没什么新的,这是预期的。
但是,您还可能会分配这样的字符串(这是更常见的方式):

java.:

my_string. =. “这是一个字符串文字”;


编译器自动创建一个字符串对象,内容“这是一个字符串文字”。

这意味着如果您可以执行此操作:
java.:

细绳 my_string;
length;

my_string. =. 新的 细绳(“你好世界”);
长度= my_string。长度();


您还可以这样做:
java.:

length;

长度= “你好世界”.长度();


字符串的级联运算符是: +

java.:

my_string. =. my_string + “ 再次!”;


java.中的字符串是不可变的对象。所以你无法改变它的内容。
如果您需要创建类型的对象 细绳Buffer.

看看这段代码:
java.:

细绳 my_string;
my_string. =. “你好世界”;
my_string.。代替('H', 'C');


此代码将按预期工作!但我们没有只是改变字符串的内容?

不,我们实际上并没有。真正发生的是那个 代替 方法使用更改创建了一个新的字符串对象,并将对象返回到my_string句柄。

java.中的所有类都是自动继承的 公共字符串toString() 方法。使用字符串对象绑定其他对象时调用此方法。

让我们将这种方法扩展到行动中查看它!
首先创建一个新课程

java.:

班级 testobject. {
    细绳 the_string;

    民众 空白 setString(细绳 str) {
        the_string = str;
    }

    民众 细绳 getString() {
        返回 the_string;
    }

    民众 细绳 toString() {
        返回 “这是类型的对象: TestObject";
    }

    民众 静态的 空白 main(细绳[] args) {
        TestObject obj;
        obj = 新的 TestObject();
        obj.setString.(“你好世界”);
        系统.出去.println.(obj。GetString.() + “ 再次! ” + obj);
    }
}


编译它并运行!它应该工作。

在这里,我们使用了我们谈到的所有概念。级联,文字和ToString()方法在对象中的使用。

注意:由于所有对象都是继承的 toString. 方法您可以尝试使用null字符串连接对象i.e: 并获取该对象返回的默认字符串。

您需要连接它,因为它是调用该对象方法的级联运算符。


看看这段代码:
java.:

细绳 my_string1,my_string2;
my_string.1 = “abc”;
my_string.2. = “abc”;

如果 (my_string.1 == my_string2.) {
    系统.出去.println.(“比赛”);
} 别的 {
    系统.出去.println.(“不符合”);
}


结果将是 不符合。为什么?
请记住,my_string1和my_string2只是对类型字符串的对象的reast。由于折射不指向同一个对象,结果是假的。

要获得您需要使用的预期结果 等于 字符串对象的方法。

java.:

如果 (my_string.1。等于(my_string.2.)) {



要更多地了解你可以用java中的字符串来做什么来看看 java. API文档。你会发现它 java.lang. 包,是所有类文件自动导入的包。
赞助
赞助
赞助
赞助
托尼




邮政发布: 星期五,2003年5月30日8:04 PM  帖子主题:(没有主题)

字符串是一个对象?!太棒了8)我看起来很远的学习Java ......

+ 25位

虽然一个问题......你提到你不能改变字符串的内容......你能写一个例子,你的用户如何在变量中输入它们的名称并将其存储在一起吗?我将如何进行缓冲区(在某些过程之前存储临时信息的变量)?
最新来自compsci.ca/blog: Tony's 编程博客。 DWite - A. 编程竞赛.
Rizzix.




邮政发布: 2003年5月31日星期六8:02  帖子主题:(没有主题)

您可以在Java中执行此操作:

java.:

细绳 my_string;
my_string. =. “abc”;
系统.出去.println.(my_string.);
my_string. =. “def”;
系统.出去.println.(my_string.);


它按预期工作。但每次将新字符串对象分配给的时候都要注意 my_string. handle!


通常,您可能永远不需要使用StringBuffers。除非您想在一系列字符上做一些密集的操作。
从上一个显示帖子:   
   指数 -> 编程,Java. -> java.教程
查看上一个主题 告诉一个朋友可打印的版本下载主题利率主题订阅本主题私人信息刷新页面 查看下一个主题

11  [ 3 Posts ]
跳到:   


Style:  
搜索: