Java字符串预定义

标签 java string

我确信这个问题已经在某个地方得到了解答,但我已经搜索了半个小时,我已经没有关键字了,因为我完全不知道如何做到这一点。

我有一个像这样的类的构造函数

public MyClass (String name)
{}

我想要的是定义字符串,以便只能输入这些字符串。

我认为它与静态最终字符串有关,但是有很多东西可以找到,我不知道如何缩小搜索范围。请告诉我我想做的事情叫什么名字,以便我可以搜索它。

编辑: 我想要的示例: 我想以某种方式定义一些字符串。 (或者做一些具有相同效果的其他事情,正如我所说的我不知道该怎么做)

字符串一 = "ExampleOne"; 字符串二 = "ExampleTwo";

这样当我调用构造函数时

MyClass myClass = new MyClass("somethingElse");

构造函数不会接受它。或者甚至更好的是, eclipse 已经向我展示了我有哪些选项,就像它的“颜色”一样。

最佳答案

是的,你有权利不能覆盖 String 类,因为它是 final 所以你可以简单地创建自己的 StringWrapper 类来包装字符串.

public class StringWrapper{
private String content;
public StringWrapper(String c){
 content = c;
}
 //all your methods and fields there, for example delegated methods
public String toString(){
     return content.toString();
  }
}

但是 Enum 也可以在您的情况下使用,然后您定义 Enum

public enum Color {
 WHITE, BLACK, RED, YELLOW, BLUE;  //; is required here.

 @Override public String toString() {
   //only capitalize the first letter
   String s = super.toString();
   return s.substring(0, 1) + s.substring(1).toLowerCase();
 }
}

public myClass (Color color)
{}

关于Java字符串预定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23056662/

相关文章:

java - 包含字符串格式的变量是否有通用的命名约定?

java - .substring 和空格,Java

iphone - iPhone sqlite3_column_text问题

java打印字符串给出指针编号

java - Android:为什么我的 ArrayAdapter 没有填充?

java - jsonrpc 响应中的西里尔字母符号

java - 了解电子邮件地址是否由 Google 管理

java - JUnit Rule TemporaryFolder 任意抛出 IOException

java - Spring Boot多模块Maven项目@Autowired不工作

C++ 问号输出