java - 使用赋值运算符创建 Java 自定义对象
问题描述
我想像字符串一样使用赋值运算符创建我的自定义对象。
例如,
如果我想以简单的方式创建员工类的对象,例如 -
Class Employee{
private String name;
private int age;
private String country;
}
Employee employee = "Bagesh,27,India";
那么是否可以像 String 类一样创建对象呢?或者任何人都可以建议字符串赋值运算符对象创建的内部工作。
我已经在许多链接上搜索过它,但没有得到完整的答案。
解决方案
那么是否可以像 String 类一样创建对象呢?[...]
Employee employee = "Bagesh,27,India";
不,你不能那样做。您需要某种形式的运算符重载(赋值重载或字符串引号的重载),而这在 Java 中是不可能的。
你可以做:
Employee employee = new Employee("Bagesh,27,India");
尽管这很奇怪,但您不妨将字符串分开并执行以下操作:
Employee employee = new Employee("Bagesh",27,"India");
如果你想要一些更短的东西,你可以委托给一个带有短名称的单独方法:
Employee employee = fromStr("Bagesh",27,"India");
...并实现fromStr()
调用您的构造函数,尽管在此示例中采用这种方法几乎没有意义。
上述其他“风味”都是可能的——工厂类、静态工厂方法等——但它们都不会给你在问题中定义的语法。
推荐阅读
- c# - 使用 Newtonsoft.JSON 自定义转换器读取具有不同输入的 json
- postgresql - 将 postgresql 事务封装在一个结构中
- c++ - 我想以相反的顺序打印数组,我尝试编写与附图所示相同的代码,但我不明白为什么显示 0?
- kotlin - 使用 Kotlin Primary 构造函数时 val / var 的含义
- python - Django 无法打开 shape_predictor_68_face_landmarks.dat。RuntimeError:无法打开 shape_predictor_68_face_landmarks.dat
- android - 将应用程序内的区域设置自动更改为英语
- prolog - Prolog 中的组合子是什么?
- r - 什么是 For 循环?为什么在 R 中不需要它?
- vue.js - 如何在 VueRouter@4.0.0 (Vue3) 中使用 createAsyncComponent?
- algorithm - 查找包含来自总体 A 的最大元素和来自总体 B 的零元素的标量区间