是否可以在String类中添加自定义方法?

问题描述:

我想补充一点,在字符串变量的操作类似于下面Java中(在我的Android实际上项目)自定义函数是否可以在String类中添加自定义方法?

String name="tester"; 
name.isAlreadyEntered(); 

public static boolean isAlreadyEntered(String name){ 
    return (checkInMyDb(name)); 
} 

我要利用这个一些更多的功能。我知道它有点愚蠢的问题。我知道这存在于.Net中的javascript &中。由于我是Java新手,我不知道它的可能性。原谅如果我错误地问。但如果可能请帮助我如何得到这个语法

+4

Java不支持向标准类添加新方法的功能。 – khelwood

+0

''String''类是final的,所以你甚至不能对它进行子类化。 – f1sh

+4

没有多大意义。如果你有一个你的数据库的类,你可以在那里添加它,并使用'myDatabase.containsPerson(name)'之类的东西。因为'isAlreadyEntered()'没有给你任何关于你期望它被输入的上下文的情况,所以更具表现力。 – Flikk

如果你真的打算增加一个新的方法java.lang.String.java那么你可能是在一个错误的路径,这只会在未来导致痛苦和痛苦:d。最好停下来,重新思考重新设计和重构。

反正先您不能在String类中添加新方法。这是最终的,因此你不能也不应该打算分类。如果你打算这样做,那么它是一个糟糕的设计,你必须重构。

如果你只是想检查是否存在String是存在于数据库中,你可以简单地声明它可以接受String类型的参数,检查数据库的存在,如果找到否则返回false返回true的方法。

如果上述解决方案不适合您,那么您可以尝试使用Composition的takimg帮助。如果你想要一个具有这种方法的对象(它可以告诉对象是否存在于数据库中),那么你可以创建一个类,可以决定根据你的上下文需求命名它,我将它命名为StringContainer。该类可以有一个String类型的实例变量。现在,您可以使用这个新创建的自定义类的对象来构成String的对象,而不是使用String对象。您可以包含一个方法来检查是否已在数据库中创建了与此类的对象相对应的条目。