java - 如何防止某人在java方法上输入某个值?
问题描述
我有这个方法:
public static int getSlotFromRow(int row, int slot)
将其想象为从某个数据表中的一行中获取插槽。
每行有 9 个插槽,最大行数为 6。我希望此方法返回一个整数,告诉我插槽(例如,如果我想要第 4 行的第 3 个插槽,该方法将返回 30)。
但是,当他们使用该方法时,如何防止某人在行变量上输入大于 6 的整数和在槽变量上输入大于 9 的整数?
解决方案
你有几个选择。最广泛使用的是在方法本身内验证传递给方法的值:
public static int getSlotFromRow(int row, int slot) throws IllegalArgumentException {
// Verify the values are valid
if (row < 1 || row > 6) {
throw new IllegalArgumentException("Invalid row selected!");
}
if (slot < 1 || slot > 9) {
throw new IllegalArgumentException("Invalid slot selected!");
}
return 30; // Or whatever calculation you do to come up with 30
}
您也可以在调用该方法之前进行验证。
推荐阅读
- java - @OnTimer 在窗口后未触发
- php - 在PHP中按键的字母顺序对多维数组进行排序
- c++ - CopyFile 找不到文件,而我可以从 fopen 打开它
- android - 无法获取 TPL 地图的折线坐标
- python - 里面有 Django 的便携式 python 包?
- tensorflow - 为张量流计算图重塑图像
- azure - 带有通配符文件名的数据流源
- visual-studio-2013 - 如何在设计时修复崩溃 Visual Studio 2013 SSIS 崩溃
- jquery - 如何使用 jQuery 获取搜索字符串前面的数字?
- javascript - Highcharts 内边框曲线