机缘
我开始成为一个创作者,最初是因为一次偶然的机缘。那时我正在一次实战项目中积极参与,通过编码和解决问题来提升自己的技能。在这个过程中,我渐渐发现了自己对创作的热爱和兴趣。我发现写作可以帮助我更好地记录和分享经验,同时也能与他人进行交流和学习。这正是我成为创作者的初心。
收获
在我的创作之旅中,我收获了很多。我的作品得到了许多人的关注和支持,我拥有了一批忠实的粉丝。他们的喜爱和鼓励对我来说是巨大的动力,让我不断进步。同时,我也收到了许多正向的反馈,包括赞、评论和阅读量等,这让我知道我的作品对人们有所启发和帮助。此外,创作还让我结识了许多志同道合的领域同行,我们一起分享经验、讨论技术问题,相互学习和成长。这个社区给我带来了深厚的友谊和宝贵的合作机会。
日常
创作已经成为我生活的一部分,与我的工作和学习密不可分。虽然我有限的精力需要在工作和学习之间进行平衡,但创作给了我一个平台去表达自己、探索新领域,并将所学应用到实践中。通过创作,我可以将学到的知识和经验记录下来,巩固和加深理解。我常常会在工作和学习的间隙,抽出时间思考和创作。这种日常的坚持让我不断积累,并不断提升自己的创作能力。
成就
以下是我过去写得最好的一段代码:
/**
* @param object 对象
* @param excludedProperty 过滤属性
**/
public static <T> void validationAttributeNotEmpty(T object) {
// 获取对象的所有属性
Field[] fields = object.getClass().getDeclaredFields();
// 遍历每个属性
for (Field field : fields) {
field.setAccessible(true);
try {
// 判断属性值是否为空
if (field.get(object) == null) {
Excel annotation = field.getAnnotation(Excel.class);
String propertyName = (annotation != null) ? annotation.name() : field.getName();
throw new Exception(propertyName + "不能为空");
}
} catch (Exception) {
e.printStackTrace();
}
}
}
这段代码是一个静态方法 validationAttributeNotEmpty
,它接受一个对象作为参数并进行属性的非空验证。首先,通过调用 object.getClass().getDeclaredFields()
获取传入对象的所有属性,返回一个包含这些属性的数组。然后,通过遍历属性数组,使用 field.setAccessible(true)
来设置属性的访问权限,以便能够获取和设置私有属性的值。在循环中,通过 field.get(object)
获取属性的值,然后判断该值是否为空。如果为空,表示属性值未设置,会获取该属性上的 Excel
注解,如果有的话,会获取注解的 name
值,否则使用属性的名称。如果属性值为空,会抛出一个异常,并将异常消息设置为属性名 + "不能为空"。最后,使用 try-catch
块捕获异常,并打印异常堆栈信息。这段代码可以用于验证对象的属性是否为空,并在空值情况下抛出异常。
憧憬
对于未来,我有着许多憧憬和规划。我希望能够进一步提升自己的创作能力,探索更广阔的创作领域。我计划继续学习和挑战自己,不断创造出令人惊喜的作品。同时,我也希望能够与更多的人分享我的知识和经验,为他们带来帮助和启迪。我将继续保持热情和努力,坚持在创作的道路上前进。无论遇到什么困难和挑战,我都相信自己能够战胜它们,实现我的创作梦想。希望我的创作纪念日文章能够激励和启发到更多的人,让我们一起在创作的世界里追逐梦想!