Java ScanResults使用两个字符串设置我的变量,但返回值只有一个字符串

Java ScanResults使用两个字符串设置我的变量,但返回值只有一个字符串,java,android,Java,Android,如代码所示,如何将scanResults.BSSID中的abc123和abc1234连接在一起,以便能够将其作为一个字符串返回?如果我收到您的问题 Java/Android中的字符串concat String essidPrefix = MainFragment.configuration.getEssidPrefix(); wifiManager.startScan(); results = wifiManager.getScanResults(); for(ScanR

如代码所示,如何将
scanResults.BSSID
中的
abc123
abc1234
连接在一起,以便能够将其作为一个字符串返回?

如果我收到您的问题

Java/Android中的字符串concat

String essidPrefix = MainFragment.configuration.getEssidPrefix();
    wifiManager.startScan();
    results = wifiManager.getScanResults();
    for(ScanResult scanResult : results){
        String scanWifi = scanResult.SSID;
       if(scanWifi.startsWith(essidPrefix)){
           bssid = scanResult.BSSID;
           //bssid now has two strings, abc123 and abc1234 for example

       }
    }
   //bssid here only returns abc123
    return bssid;
编辑

根据评论。。你需要重新设置它<代码>bssid=“” 因此,您的代码将如下所示

bssid = bssid+","+scanResult.BSSID; // comma separate
List id=new ArrayList();
字符串essidPrefix=MainFragment.configuration.getEssidPrefix();
wifiManager.startScan();
results=wifiManager.getScanResults();
bssid=“”;//这将重置它
用于(扫描结果扫描结果:结果){
字符串scanWifi=scanResult.SSID;
if(scanWifi.StartWith(essidPrefix)){
//如果要避免null
add(scanResult.BSSID);//逗号分隔
}
}
//这里的bssid只返回abc123
返回bssid=android.text.TextUtils.join(“,”,id);

如果我知道你的问题

Java/Android中的字符串concat

String essidPrefix = MainFragment.configuration.getEssidPrefix();
    wifiManager.startScan();
    results = wifiManager.getScanResults();
    for(ScanResult scanResult : results){
        String scanWifi = scanResult.SSID;
       if(scanWifi.startsWith(essidPrefix)){
           bssid = scanResult.BSSID;
           //bssid now has two strings, abc123 and abc1234 for example

       }
    }
   //bssid here only returns abc123
    return bssid;
编辑

根据评论。。你需要重新设置它<代码>bssid=“” 因此,您的代码将如下所示

bssid = bssid+","+scanResult.BSSID; // comma separate
List id=new ArrayList();
字符串essidPrefix=MainFragment.configuration.getEssidPrefix();
wifiManager.startScan();
results=wifiManager.getScanResults();
bssid=“”;//这将重置它
用于(扫描结果扫描结果:结果){
字符串scanWifi=scanResult.SSID;
if(scanWifi.StartWith(essidPrefix)){
//如果要避免null
add(scanResult.BSSID);//逗号分隔
}
}
//这里的bssid只返回abc123
返回bssid=android.text.TextUtils.join(“,”,id);

您应该使用StringBuilder(非线程安全)类进行连接,而不是使用“+”运算符(因为它会消耗更多内存)


您应该使用StringBuilder(非线程安全)类进行连接,而不是使用“+”运算符(因为它会消耗更多内存)


您好,谢谢您的及时回复,我已经尝试了您的方法,我现在可以在一个字符串中获得它们,但每次该方法运行时,它都会不断添加。例如,第一次它将是:null,bssid1,bssid2,在方法的第二次运行时,它将变成:null,bssid1,bssid2,bssid1,bssid2。我想这是因为(bssid+)?非常感谢!最后,除了tat之外,它的前面总是有一个逗号,比如bssid1,bssid2。除此之外,一切都很好@如果有效,请将其标记为已接受答案。:)对于逗号,你可以尝试另一种方法
ArrayList
@SRBbans非常感谢您的帮助,非常感谢我的及时回复,我已经尝试了您的方法,现在我可以在一个字符串中获得它们,但每次方法运行时,它都会不断添加。例如,第一次它将是:null,bssid1,bssid2,在方法的第二次运行时,它将变成:null,bssid1,bssid2,bssid1,bssid2。我想这是因为(bssid+)?非常感谢!最后,除了tat之外,它的前面总是有一个逗号,比如bssid1,bssid2。除此之外,一切都很好@如果有效,请将其标记为已接受答案。:)对于逗号,你可以尝试另一种方法
ArrayList
@SRBbans非常感谢您的帮助,非常感谢我的回复,我有bssid=sb.toString();但它所做的只是在abc123前面添加了一个逗号,abc1234并没有与abc123一起返回(什么是scanResult.BSSID返回类型?string@rahul kalehi感谢您的回复,我有BSSID=sb.toString();但它所做的只是在abc123前面添加了一个逗号,abc1234没有与abc123一起返回。:(什么是scanResult.BSSID返回类型?string@rahul kale