【问题标题】:how to create a custom datatype in java?如何在java中创建自定义数据类型?
【发布时间】:2011-06-23 22:42:09
【问题描述】:

我想在 Java 中创建一个自定义数据类型,例如数据类型 Email,具有以下方法 isValidate(String email)、isEmailExist(String email)、getDomain(String email)、get Id(String email),就像 Integer java中的类。

Integer 是一个类,我可以如下初始化 Integer 类的对象:

Integer i = 100;

我创建了我的班级电子邮件,我想如下初始化它

Email e = "sam";

如何在我的电子邮件类中执行此功能。

导入 java.util.StringTokenizer;
导入 java.util.regex.Matcher;
导入 java.util.regex.Pattern;

公开课邮箱 { 私人字符串电子邮件; 公共电子邮件(字符串电子邮件) { 这.email=电子邮件; }

Email() {  
}

public Boolean isvalid(String email)
{

字符串 lastToken = null; 模式 p = Pattern.compile(".+@.+\.[a-z]+"); // 将给定的字符串与模式匹配 匹配器 m = p.matcher(email); // 检查是否找到匹配项 boolean matchFound = m.matches(); StringTokenizer st = new StringTokenizer(email, "."); 而 (st.hasMoreTokens()) { lastToken = st.nextToken(); }

if (matchFound && lastToken.length() >= 2 && email.length() - 1 != lastToken.length()) { 返回真; } 别的 返回假; } 公共字符串 toString() { 返回电子邮件; } }

谢谢

【问题讨论】:

  • 您需要学习在 Java 中创建类的基础知识。这是一个在线教程:Classes in Java
  • 不会能做的唯一事情是Email e = "sam";。您将需要Email e = new Email("sam");
  • 我认为 OP 正在询问如何做一些被称为“隐式运算符重载”的事情。毕竟,这将使这个问题成为一个不那么初学者的问题。在 Java 中,这在使用包装器类型时很明显。例如,当您将文字分配给 java.lang.Integer 时。答案是 Java 不支持创建允许这样做的自定义类型。所以你不能做 Email email = "someone@example.com"。

标签: java


【解决方案1】:

您不能在编写时实例化它,最接近的是使用构造函数:

Email e = new Email("Sam");

【讨论】:

    【解决方案2】:

    创建一个电子邮件类。爪哇 101;任何 Java 语言的书籍或免费教程都可以帮助您入门。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-03
      • 1970-01-01
      • 2012-01-15
      • 1970-01-01
      • 2017-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多