我刚刚看到有人在丑陋的代码上发布了以下内容:
public static
Tuple<ArrayList<ArrayList<ArrayList<String>>>,
ArrayList<ArrayList<ArrayList<String>>>>
split(
ArrayList<ArrayList<ArrayList<String>>> data, [..]);
Run Code Online (Sandbox Code Playgroud)
(由我设计,在一个可笑的尝试,以获得这半可读)
我一直在寻找一种方法使这个看起来像这个(非功能)代码:
TypeParam T = ArrayList<ArrayList<ArrayList<String>>>;
public static Tuple<T,T> split( T data, [..]);
Run Code Online (Sandbox Code Playgroud)
到目前为止,我发现最好的解决方案是定义一个类(在这个例子中是一个类Data),它扩展了ArrayList<ArrayList<ArrayList<String>>>,这将使代码看起来像这样:
public static Tuple<Data, Data> split( Data data, [..]);
Run Code Online (Sandbox Code Playgroud)
虽然这种方法非常令人满意,但我不想放弃使用遗漏的某些方法的可能性,我想知道Java是否有一种更美观的方式来实现这一点.赏心悦目的.
我正在使用的另一个解决方案是使用注释处理器为我解决这个问题,但是我觉得它错过了一定程度的简单性.
我正在构建一个显示用户列表的系统,并且在选择用户时会请求某种形式的密码.这些值保存在页面上的隐藏字段中,需要作为一种身份验证形式与每个请求一起发送.(我知道这里的MITM漏洞,但它是一个非常低调的系统,因此安全性不是一个大问题).
现在我需要为每个请求发送这些值,以授权当前"登录"的用户.我想通过自动化ajaxSetup,但是我遇到了一些问题.
我的第一次尝试是:
init_user_auth: function(){
$.ajaxSetup({
data: {
'user' : site_user.selected_user_id(),
'passcode': site_user.selected_user_pc(),
'barcode' : site_user.selected_user_bc()
}
});
},
Run Code Online (Sandbox Code Playgroud)
但是,正如我应该知道的那样,这会在调用时读取一次值ajaxSetup,并且永远不会重读它们.我需要的是每次进行ajax调用时实际调用函数的方法.
我目前正在尝试了解这里发生了什么:https://groups.google.com/forum/?fromgroups =#!topic / jquery-dev/OBcEfgvTJ9I,但是通过那里的火焰战和非常低级别的东西,我不确定我得到的是什么.
这是继续进行的方式,还是我应该只是面对事实并手动为每个ajax调用添加login-info?