Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java返回值在赋值时返回null_Java_Android_Null_Return Value - Fatal编程技术网

Java返回值在赋值时返回null

Java返回值在赋值时返回null,java,android,null,return-value,Java,Android,Null,Return Value,我有一个公共静态函数,我在另一个类中调用它并给它赋值,但当我吐司这个值时,它总是空的。我已经测试了分配返回值的值,它们不是null,因此我返回的变量不是null,而是null。下面是课堂: public static String dataLogin(String mode, String table, String columns, String where, String whereId, Context context) { final String[] newString

我有一个公共静态函数,我在另一个类中调用它并给它赋值,但当我吐司这个值时,它总是空的。我已经测试了分配返回值的值,它们不是null,因此我返回的变量不是null,而是null。下面是课堂:

public static String dataLogin(String mode, String table, String columns, String where, String whereId, Context context) {
        final String[] newString = {""};
        String returnString = "";
        Gson gson = new GsonBuilder()
                .setLenient()
                .create();
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("URL")
                .addConverterFactory(GsonConverterFactory.create(gson))
                .build();
        Proxy proxy = retrofit.create(Proxy.class);
        if (mode == "get") {
            //This is a proxy to the weservice
            call.enqueue(new Callback<List<Post>>() {
                @Override
                public void onResponse(Call<List<Post>> call, Response<List<Post>> response) {
                    if (!response.isSuccessful()) {
                        return;
                    }

                    List<Post> posts = response.body();
                    for (Post post : posts) {
                        newString[0] += post.getUsername();
                        newString[0] += ",";
                        newString[0] += post.getPassword();
                    }
                }
                @Override
                public void onFailure(Call<List<Post>> call, Throwable t) {
                }
            });
        }
        returnString = newString[0];
        return returnString;
    }
publicstaticstringdatalogin(字符串模式、字符串表、字符串列、字符串where、字符串whereId、上下文上下文){
最后一个字符串[]新闻字符串={”“};
字符串returnString=“”;
Gson Gson=new GsonBuilder()
.setLenient()
.create();
改装改装=新改装.Builder()
.baseUrl(“URL”)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
Proxy-Proxy=reformation.create(Proxy.class);
如果(模式==“获取”){
//这是weservice的代理
call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
如果(!response.issusccessful()){
返回;
}
List posts=response.body();
用于(职位:职位){
newString[0]+=post.getUsername();
新闻字符串[0]+=“,”;
newString[0]+=post.getPassword();
}
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
}
});
}
returnString=newString[0];
返回字符串;
}
下面是使用此类的位置:

    public void login(String username, Context context) {
        // can be launched in a separate asynchronous job
        String thisString = Texts.dataLogin(/*Queries*/);
        if (thisString == null || thisString == "") {
            thisString = "null";
        }
        Toast.makeText(context, thisString, Toast.LENGTH_LONG).show();
        //byte[] data = Base64.decode(thisString[1], Base64.DEFAULT);
        //String text = new String(data, "UTF-8");
        Result<LoggedInUser> result = loginRepository.login(thisString, password);
        if (result instanceof Result.Success) {
            LoggedInUser data2 = ((Result.Success<LoggedInUser>) result).getData();
            loginResult.setValue(new LoginResult(new LoggedInUserView(data2.getDisplayName())));
        } else {
            loginResult.setValue(new LoginResult(R.string.login_failed));
        }
    }

public void登录(字符串用户名、上下文){
//可以在单独的异步作业中启动
String thistring=text.dataLogin(/*querys*/);
如果(thisString==null | | thisString==“”){
thisString=“null”;
}
Toast.makeText(上下文,thistring,Toast.LENGTH_LONG).show();
//字节[]数据=Base64.decode(此字符串[1],Base64.DEFAULT);
//字符串文本=新字符串(数据,“UTF-8”);
结果=loginRepository.login(此字符串,密码);
if(result.Success的结果实例){
LoggedInUser data2=((Result.Success)Result.getData();
setValue(新的loginResult(新的LoggedInUserView(data2.getDisplayName())));
}否则{
loginResult.setValue(新的loginResult(R.string.login_失败));
}
}

有人知道这个类为什么没有返回正确的值吗?

通过

someString.equals(someOtherString);

另外,请注意,
null
与“null”

的“我已经测试了值”不同,您指的是post.getUsername()和post.getPassword()的结果,对吗?是的,它们都在检索正确的数据。另外,这是错误的:
如果(mode==“get”)
。还有
thisString==”
。使用thisString.isEmpty()。