java - System.out.println 添加特定变量时打印部分字符串
问题描述
number
当我传递其中命名的特定变量时,System.out.println()
会打印部分字符串。
change_status(senttime, data[0]);
private void change_status(String timestamp, String number){
String query = null;
query = "update table_abc set state='2' where msg like '%"+number+"%' and sent_time > '"+timestamp+"' ";
System.out.println("query: " + query);
}
System.out.println 的输出如下所示......
当 data[0] 的值为“Text”时,输出为update table_abc set state='2' where msg like 'Text' and sent_time > '2021-07-08 23:14:15'
当 data[0] 的值为“3320112345677”时,输出为%' and sent_time > '2021-07-08 23:14:15'
当 data[0] 的值为“1231234567”时,输出为%' and sent_time > '2021-07-08 23:14:15'
然而
我需要传递值为“1231234567”的 data[0] 变量或长度为 10 到 12 个字符的任何其他字符串整数值。
问题
当数据 [0] 具有字符串整数时 System.out.println() 不打印完整字符串(sql 查询)?
更新
正如@Esterlinkof 所说,上述代码段中没有问题。我做了更多的调试并且知道问题是当我将该字符串拆分为数组然后尝试从数组中打印它时。
String text = "1231234567
Pakistan
2021-07-08 23:14:15
11223344556677";
String[] data = null;
data = text.slipt("\n");
query = "update table_abc set state='2' where msg like '%"+data[0]+"%' and sent_time > '"+data[2]+"' ";
System.out.println("query: " + query);
输出
%' and sent_time > '2021-07-08 23:14:15'
而 data[0] 是有价值的"1231234567"
,而 data[2] 是"2021-07-08 23:14:15"
解决方案
我测试了以下代码,您可以在结果中看到它的工作原理。您的问题与打印无关。您能否提供更多背景信息?
import java.time.LocalDateTime;
public class Main{
public static void main(String [] args){
String[] data = {"Text", "3320112345677", "1231234567"};
change_status(LocalDateTime.now().toString(), data[0]);
change_status(LocalDateTime.now().toString(), data[1]);
change_status(LocalDateTime.now().toString(), data[2]);
}
private static void change_status(String timestamp, String number){
String query = null;
query = "update table_abc set state='2' where msg like '%"+number+"%' and sent_time > '"+timestamp+"' ";
System.out.println("query: " + query);
}
}
结果:
query: update table_abc set state='2' where msg like '%Text%' and sent_time > '2021-07-12T11:47:11.448650'
query: update table_abc set state='2' where msg like '%3320112345677%' and sent_time > '2021-07-12T11:47:11.495243'
query: update table_abc set state='2' where msg like '%1231234567%' and sent_time > '2021-07-12T11:47:11.495365'
推荐阅读
- java - 验证字符串列表中的自定义排序
- python - Antlr4 中的 C-Grammar 在 `int main()` 上引发错误`extraneous input 'int'`
- python - 使用 python 使用来自其他 csv 文件的信息在 csv 文件中创建列
- jquery - ASP.NET Webforms嵌套Gridview单击父gridview行不显示子gridview
- autodesk-forge - Forge 模型查看器中第一人称视图中的操纵杆移动太快
- css - 避免重叠的 CSS 网格元素
- postgresql - PostgresSQL - 分析 cpe23Uri
- powershell - 使用参数从 Powershell 执行 Angular 服务失败
- javascript - gulp iconfonts的问题,我错过了什么?
- c# - IIS 中的 Blazor 服务器端下载问题