Error in method invocation: Static method format( java.lang.String, java.lang.String ) not found in class'java.lang.String'
时间: 2024-12-22 08:29:06 浏览: 34
此错误发生在Java程序中,当你试图在一个 `String` 类型的对象上调用 `format()` 方法时。`format()` 方法不是 `String` 类的一部分,它是 `java.text.DecimalFormat` 或 `java.util.Formatter` 类的静态方法,用于格式化数值、日期或其他数据到字符串。这通常用于处理格式化的输出,如货币、百分比或特定精度的小数。
在上述代码片段中,可能是这样的意图:
```java
String valueToFormat = "1.3800000000000000";
DecimalFormat df = new DecimalFormat(".00");
String formattedValue = df.format(Double.parseDouble(valueToFormat));
```
或者使用 `Formatter`:
```java
String valueToFormat = "1.3800000000000000";
String formattedValue = String.format("%.3f", Double.parseDouble(valueToFormat));
```
如果原始代码是在试图用 `String` 类型的 `str` 调用格式化,就会导致这个找不到方法的错误。
相关问题
2023-05-30 09:36:55,838 ERROR o.a.j.u.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.json.JSONObject; import org.json.JSONArray; String response = prev.g . . . '' : Error in method invocation: Method put( java.lang.String, java.lang.Integer ) not found in class'org.apache.jmeter.threads.JMeterVariables'
这个错误日志看起来是在使用 JMeter 进行测试时出现的。它表明在你的 BeanShell 脚本中出现了一个错误,因为 `put` 方法无法在 `JMeterVariables` 类中找到。
这个错误通常发生在你正在尝试将一个整数值存储到 JMeter 变量中,但是你使用了错误的方法名。正确的方法名应该是 `putObject` 而不是 `put`。你可以尝试使用以下代码来存储整数值:
```
vars.putObject("myVar", new Integer(123));
```
请注意,这里使用的是 `putObject` 方法,而不是 `put` 方法。这应该可以解决你的问题。
Problem in BeanShell script: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``int total = Integer.parseInt(vars.get("total")); log.info("total="+total); sum = . . . '' : Error in method invocation: Method put( java.lang.String, int ) not found in class'org.apache.jmeter.threads.JMeterVariables'
这个错误的原因是在 BeanShell 脚本中调用了 JMeterVariables 类的 put 方法,但是该类并没有 put 方法接受 int 类型的参数。因此,你应该将参数转换为字符串类型才能正确地调用 put 方法,如下所示:
```
int total = Integer.parseInt(vars.get("total"));
log.info("total="+total);
sum = Integer.parseInt(vars.get("sum"));
vars.put("sum", String.valueOf(sum + total));
```
这样,就可以正确地将 sum 和 total 相加,并将结果存储回 JMeter 变量中。
阅读全文