为了
Comparable<BigDecimal> c = new BigDecimal("");
一切都很好,但是
List<Comparable<BigDecimal>> l = new ArrayList<BigDecimal>();
开始抱怨类型不匹配
为了
Comparable<BigDecimal> c = new BigDecimal("");
一切都很好,但是
List<Comparable<BigDecimal>> l = new ArrayList<BigDecimal>();
开始抱怨类型不匹配
主要分支有dev、master。在 dev 分支中,当前版本的工作正在进行中。在 sprint 的中间,来自上面的请求实现该功能,该功能将(应该)在当前版本之前发布。接下来应该是什么?来自 master 的新分支,其中将实现新功能,之后 master merjim 将在 dev 中?在哪里可以尊重此类案例的正确方法?
只是现在项目上发生的事情是垃圾。与 dev 的合作已经停止,我们将 dev 回滚到 master 的状态,我们在 dev 中开发功能(本质上具有 master 的状态),我们滚动之前的 maid 状态。
我有一个特定的过滤器可以检索并形成一个实体,UserState
我怎样才能将此实体添加到上下文中,以便我可以在以下过滤器中使用它而不是重新形成它?或者还有其他一些在过滤器之间传递对象的做法吗?
public class AuthFilter extends ZuulFilter {
@Autowired
private AuthService authService;
@Autowired
private ApplicationContext appContext;
@Override
public String filterType() {
return PRE_TYPE;
}
@Override
public int filterOrder() {
return PRE_DECORATION_FILTER_ORDER - 2;
}
@Override
public boolean shouldFilter() {
RequestContext context = RequestContext.getCurrentContext();
String requestURI = context.getRequest().getRequestURI();
for (String authPath : authPaths) {
if (requestURI.contains(authPath)) return true;
}
return false;
}
@Override
public Object run() throws ZuulException {
try {
UserState userState = authService.getUserData();
DefaultListableBeanFactory context = new DefaultListableBeanFactory();
GenericBeanDefinition beanDefinition = new GenericBeanDefinition();
beanDefinition.setBeanClass(UserState.class);
beanDefinition.setPropertyValues(new MutablePropertyValues() {
{
add("user", userState);
}
});
context.registerBeanDefinition("userState", beanDefinition);
} catch (UndeclaredThrowableException e) {
if (e.getUndeclaredThrowable().getClass() == UnauthorizedException.class) {
throw new UnauthorizedException(e.getMessage());
}
if (e.getUndeclaredThrowable().getClass() == ForbiddenException.class) {
throw new ForbiddenException(e.getMessage(), "The user is not allowed to make this request");
}
}
return null;
}
}
List list = new ArrayList();
Stream<Object> stream = list.stream();
// маппинг так для примера
List<String> collect = stream.map(obj -> obj.toString())
.collect(toList());
我在泛型中缺少什么?这种构造是有效的,但是从流Stream stream = list.stream();
中删除泛型不再有效?
或者说,为什么要这样选角?(List<Object>) list
List<String> collect = ((List<Object>) list).stream.map(obj -> obj.toString())
.collect(toList());
有一种方法可以解析视图字符串ширина:долгота@ширина:долгота@...@@
并填充二维数组int[x][2]
:
void fillArr(String line, int **arr) {
line += "@@";
int x = 0;
int lng = line.length();
byte i = 0;
char char_array[lng + 1];
strcpy(char_array, line.c_str());
String str = "";
arr[0] = new int[2];
while( x < lng - 1 ){
if(char_array[x] == ':' || char_array[x] == '@') {
int num = str.toFloat() * 1000000;
str = "";
if (char_array[x] == ':') {
arr[i][0] = num;
} else {
arr[i][1] = num;
i++;
arr[i] = new int[2];
}
x++;
continue;
}
str += char_array[x++];
}
}
方法调用:
int **arr = new int *[2];
fillArr(str, arr);
但是经过几次传递(5-7 对值)后,程序崩溃了,可能是什么问题?是否有可能晶体的所有 RAM 都被阻塞了?
int num = str.toFloat() * 1000000;
- 用于截断非有效数字并仅保留有效数字
当对数达到 5-7 时,程序可以正常工作并按应有的方式填充数组。也就是说,你可以在输出中得到这样的东西:
arr[0][0] - широта 1;
arr[0][1] - долгота 1;
arr[1][0] - широта 2;
arr[1][1] - долгота 2;
arr[2][0] - широта 3;
arr[2][1] - долгота 3;
arr[3][0] - широта 4;
arr[3][1] - долгота 4;
对于传入的字符串49.46666813651794:32.06716351318357@49.47983057360329:32.08364300537107@49.46767217581145:32.106817291259745@49.45082390409025:32.11076550292967
通过执行代码:
for (int i = 0; i < 4; i++) {
Serial.print(arr[i][0]); Serial.print(" "); Serial.println(arr[i][1]);
}
我得到:
49466668 32067166
49479832 32083644
49467672 32106820
49450824 32110768
请告诉我如何转换:
Map<String, List<Pet>> pets = petList
.stream()
.collect(Collectors.groupingBy(Pet::getType));
在
Map<String, PetsHouse>
有帮助stream
吗?还是我很费心并在不使用流的情况下做出决定?
PetHouse
- 它只是床单上的一个包装纸
List<Pet> petList;
PetHouse house = new PetHouse(petList);
有一个数据更新脚本(几个插入,更新),您需要在脚本末尾添加一些逻辑,该脚本也将更新数据,但是有循环和条件,如何用一个脚本在 postgres 中实现?
select distinct name from table
insert into table2 (name) values (name1), (name2), (name3) returning id; в общем все что получил в предыдущем запросе
update table set table2_id = id1; и так для каждого нового имени
如何将流映射到新对象?或者,这些例子不等价?
list.stream().map(new SomeObject()::convertToSomeObject)
list.stream().map(item -> new SomeObject().convertToSomeObject(item))
public SomeObject convertToSomeObject(Item item) {
this.name = item.getName;
this.value = item.getValue;
return this;
}
在第一种情况下,一切都由一个对象映射
会在 string 中创建一个新对象i++
,还是会增加被引用的对象?
public static void main(String[] args) {
Integer i = 8;
inc(i);
System.out.println(i);
}
public static void inc(Integer i) {
i++;
System.out.println(i);
}
更准确地说,不是这样,我确信旧对象将保持不变,但是会发生什么i++
?原来,会创建一个新对象?
告诉我如何正确组织支持多种“响应格式”(JSON 和 XML)的 Web 服务。客户端如何以何种形式向服务器表明他(客户端)希望看到响应?
您可以在查询字符串本身中指定响应类型
您可以在标题中传递返回格式
很可能你可以做其他事情......
但是什么是“正确的”?
选择 1000000 之后的前 5 条记录的最佳方法是什么?
SELECT * FROM table ORDER BY ID LIMIT 1000000,5
我决定玩“彩票”并选择前 5 个条目,但如果这改变了某些东西,我可以添加按 ID 排序。ID - 索引字段!
任务不真实
我在接受采访时,他们问,“在什么类型的变量中存储资金更好,”他说Float
,他们说,速度,仅此而已。- 被拒绝。没有听到“为什么”这个问题的答案。所以这就是为什么“钱”不能存储在Float
?
有必要做以下变态,我只能用 SQL 解释:
select *
from
(select id, other, some, fields
from table1
limit 10 offset 100) t1
left join table2 t2 on td.table1_id = t1.id
也就是说,您需要从第一个表中取出 10 条记录,而不管第二个表中有多少条记录稍后会被绑定。如果limit
去掉-“被切断”所有选择。告诉我如何借助Criteria
hibernate 或 hibernate 的其他功能来改变它?是否有必要,也许用笔写字会更有效?
我将 jQuery 与数据表一起使用。在DataTables网站上,我找到了一个分页的实现,它直接JSP
爬进数据库,在我看来,这是一种非常非常糟糕的做法。那么也许有一些选项可以让分页观察 MVC?DataTable
或者只是用分页和按钮来锯你自己的?切换到某种框架(Angular,React)的选项尚未考虑,目标是粗略了解JS
仔细观察后,由于评论,view
爬进数据库的问题已经消失,因为JSP
在这种情况下它充当控制器。但是下一个问题来了。为什么要将控制器实现为JSP
?优点/缺点是什么?
有一个表users
&words
多对多的关系。还有一个链接表,嗯,例如users_words
(出乎意料,对吧?)你如何Criteria
在以下帮助下做出这样的选择:
select *
from words
left join users_words on users_words.word_id = words.id
where users_words.user_id = {id} or
users_words.id is null'
据我了解它hibernate
连接通过inner join
但我需要left
。
public class Group implements DomainModel{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
...
@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.REFRESH)
@JoinTable(name = "user_groups", joinColumns = {
@JoinColumn(name = "group_id") },
inverseJoinColumns = { @JoinColumn(name = "user_id") })
private Set<User> users = new HashSet<User>(0);
}
public class User implements DomainModel{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
...
@ManyToMany(fetch = FetchType.LAZY, mappedBy = "users")
private Set<Group> groups = new HashSet<Group>(0);
}
{
Criteria criteria = session.createCriteria(Group.class);
criteria.setFetchMode("users", FetchMode.JOIN);
criteria.createAlias("users","usersAlias");
criteria.add(Restrictions.isNull("users.id"));
}
我有点不明白,urlPatterns
过滤器应该如何工作?为什么不管 url 是什么,过滤器都可以正常工作?
@WebFilter(urlPatterns = {"/groups/*"})
public class AuthorizationFilter implements Filter {
@Autowired
UserService service;
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
filterChain.doFilter(request,servletResponse);
}
@Override
public void destroy() {
}
}
....
@Override
protected Filter[] getServletFilters() {
CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
characterEncodingFilter.setEncoding("UTF-8");
return new Filter[] { characterEncodingFilter,new AuthorizationFilter()};
}
....
请大家深思一下DELPHI中的指针!不,当然我阅读了垫子部分并与他们一起工作(不完全理解他们的性质),但为什么呢?
type TMyRec = class
s:string;
n:integer;
end;
var MyRec: TMyRec;
PRec: ^TMyRec;
begin
//Но MyRec сейчас null на какую область памяти может начать ссылаться PRec?
PRec:=@MyRec;
PRec^.S:='Строка данных';//С помощью указателя производится изменение строкового поля записи
PRec^.N:=256;//С помощью указателя производится изменение числового поля записи
end;
一切都很棒,一切都很棒并且有效。但是,如果下一个条目也很好用,为什么?
var MyRec: TMyRec;
begin
MyRec:=TMyRec.Create;
MyRec.S:='Строка данных';
MyRec.N:=256;
end;
总的来说,我有很多关于指针的问题,我什至无法表达。如果能提供任何能解释为什么日常生活中需要指针的信息,我将不胜感激。
我知道在 JAVA 中可以用掩码声明一个泛型List<? extends Number>
。在DELPHI上是否有这样实现的可能?
多么美妙的奇迹?跌倒了,至少你开枪了。任何人都可以遇到吗?
function TUAdapter<T>.getFields: AnsiString;
var
Props: TStringList;
TmpStr: String;
Res,Prop: AnsiString;
i: integer;
begin
try
Props:=getProps;
for i:= 0 to Props.Count - 1 do
begin
TmpStr:=''; //Падает здесь после нескольких проходов
TmpStr:='"'+Props[i]+'"';
if Res = ''
then Res:= Res + TmpStr
else Res:= Res + ', '+TmpStr;
end;
Result:= Res
finally
Props.Destroy;
end;
end;
function TUAdapter<T>.GetProps: TStringList;
var
list: TStringList;
Props : PPropList;
i: integer;
propCount : integer;
begin
if (uEntityObj.ClassInfo = nil)
then begin
raise Exception.Create('Not able to get properties!');
end;
try
List:= TStringList.Create;
propCount := GetPropList(uEntityObj.ClassInfo, Props);
for i:=0 to propCount-1 do
begin
list.Add(Props[i].Name);
end;
finally
FreeMem(Props);
end;
Result:= list;
end;
function GetPropList(TypeInfo: PTypeInfo; out PropList: PPropList): Integer;
begin
Result := GetTypeData(TypeInfo)^.PropCount;
if Result > 0 then
begin
GetMem(PropList, Result * SizeOf(Pointer));
GetPropInfos(TypeInfo, PropList);
end;
end;
告诉我如何创建索引为字符串的数组,是否可能?MyArray['index']
?
如果不可能,yTIBQuery
的反转结构是什么IBQ['some_field_name']
?